我正在尝试理解Windows身份验证、表单身份验证以及它们之间的区别。我感到困惑。能否有人帮助我澄清这一点。
谢谢。
我正在尝试理解Windows身份验证、表单身份验证以及它们之间的区别。我感到困惑。能否有人帮助我澄清这一点。
谢谢。
Windows身份验证提供者是ASP.NET应用程序的默认身份验证提供者。当使用此身份验证的用户登录应用程序时,凭据将通过IIS与Windows域进行匹配。
有4种类型的Windows身份验证方法:
1) 匿名身份验证 - IIS允许任何用户
2) 基本身份验证 - 必须在网络中发送Windows用户名和密码(以明文格式发送,因此不太安全)。
3) 摘要身份验证 - 与基本身份验证相同,但凭证已加密。仅适用于IE 5或更高版本
4) 集成的Windows身份验证 - 依赖于Kerberos技术,具有强大的凭证加密
表单身份验证 - 此身份验证依赖于由开发人员编写的代码,其中凭证将与数据库进行匹配。凭证输入在Web表单中,并与包含用户信息的数据库表进行匹配。
Windows身份验证是指针对应用程序所在的计算机上的Windows用户帐户进行身份验证。
表单身份验证是.NET表单中独立的身份验证方法,可以连接到其他系统(如数据库)。
Windows身份验证
利用了 Windows登录系统
。
http://en.wikipedia.org/wiki/Integrated_Windows_Authentication
而使用 Forms身份验证
,用户需要手动提供用户名
和密码
。
http://www.asp.net/web-forms/tutorials/security/introduction/an-overview-of-forms-authentication-vb
Forms身份验证
还允许您选择从哪里访问登录数据。例如,它可以存储在您自己的本地数据库
中。而Windows身份验证仅使用您的Windows登录数据。如果您的网络是使用企业/商业/域
设置构建的,则此数据通常来自Active Directory
。
http://en.wikipedia.org/wiki/Active_Directory
Windows身份验证-- 用户在登录其系统时提供的凭据将用于在IIS服务器上对用户进行身份验证。如果身份验证失败,则Internet Explorer中会显示一个弹出窗口,要求用户输入他的凭据,即用户名和密码。
表单身份验证-- 将提供默认的登录页面,类似于Facebook登录,用户将在此页面上进行身份验证,而不是自动获取来自系统凭据,即Windows系统的当前用户的凭据。如果用户请求安全页面并且尚未登录,则ASP.NET将重定向他/她到登录页面。一旦用户通过身份验证,他/她就可以访问所请求的页面。这里IIS不参与身份验证,完全取决于Web应用程序。