我试图了解Windows身份验证,表单身份验证及其差异的概念。我很迷惑。有人可以帮我澄清一下。
感谢。
答案 0 :(得分:38)
Windows身份验证提供程序是ASP.NET应用程序的默认身份验证提供程序。使用此身份验证的用户登录到应用程序时,凭据将通过IIS与Windows域匹配。
有4种类型的Windows身份验证方法:
1)匿名身份验证 - IIS允许任何用户
2)基本身份验证 - 必须通过网络发送Windows用户名和密码(以纯文本格式,因此不太安全)。
3)摘要式身份验证 - 与基本身份验证相同,但凭据已加密。仅适用于IE 5或以上版本
4)集成Windows身份验证 - 依靠Kerberos技术,具有强大的凭据加密
表单身份验证 - 此身份验证依赖于开发人员编写的代码,其中凭据与数据库匹配。凭据在Web表单上输入,并与包含用户信息的数据库表匹配。
答案 1 :(得分:20)
Windows身份验证是指针对运行该应用程序的框上的Windows用户帐户进行身份验证。
表单身份验证是一种在.NET表单中进行身份验证的独立方法,您可以将其连接到其他系统,例如数据库。
答案 2 :(得分:9)
这很简单。 Windows Authentication
使用Windows Login system
。
http://en.wikipedia.org/wiki/Integrated_Windows_Authentication
使用Forms Authentication
时,用户需要手动提供username
和password
。
http://www.asp.net/web-forms/tutorials/security/introduction/an-overview-of-forms-authentication-vb
Forms Authentication
还允许您选择从中访问登录数据的位置。例如,它可以存储在您自己的local database
中。虽然Windows身份验证仅使用您的Windows登录数据。如果您的网络是使用Active Directory
设置构建的,则此数据通常来自enterprise/buisness/domain
。
http://en.wikipedia.org/wiki/Active_Directory
答案 3 :(得分:4)
Windows身份验证 - 将根据用户登录系统时提供的凭据在IIS服务器上对用户进行身份验证。如果身份验证失败,则会在Internet Explorer中显示弹出窗体,询问其凭据,即用户名和密码。
表单身份验证 - 默认登录页面将像Facebook登录一样可用,用户将在其中进行身份验证,而不是自动从系统凭据(即Windows系统的当前用户)获取凭据。如果用户请求安全页面但尚未登录,则ASP.NET会将他/她重定向到登录页面。用户通过身份验证后,将允许他/她访问所请求的页面。这里的IIS不会对身份验证生效,它完全取决于Web应用程序。