Windows身份验证与表单身份验证

时间:2012-02-25 12:14:35

标签: windows authentication forms-authentication windows-authentication

我试图了解Windows身份验证,表单身份验证及其差异的概念。我很迷惑。有人可以帮我澄清一下。

感谢。

4 个答案:

答案 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 systemhttp://en.wikipedia.org/wiki/Integrated_Windows_Authentication

使用Forms Authentication时,用户需要手动提供usernamepasswordhttp://www.asp.net/web-forms/tutorials/security/introduction/an-overview-of-forms-authentication-vb

Forms Authentication还允许您选择从中访问登录数据的位置。例如,它可以存储在您自己的local database中。虽然Windows身份验证仅使用您的Windows登录数据。如果您的网络是使用Active Directory设置构建的,则此数据通常来自enterprise/buisness/domainhttp://en.wikipedia.org/wiki/Active_Directory

答案 3 :(得分:4)

Windows身份验证 - 将根据用户登录系统时提供的凭据在IIS服务器上对用户进行身份验证。如果身份验证失败,则会在Internet Explorer中显示弹出窗体,询问其凭据,即用户名和密码。

表单身份验证 - 默认登录页面将像Facebook登录一样可用,用户将在其中进行身份验证,而不是自动从系统凭据(即Windows系统的当前用户)获取凭据。如果用户请求安全页面但尚未登录,则ASP.NET会将他/她重定向到登录页面。用户通过身份验证后,将允许他/她访问所请求的页面。这里的IIS不会对身份验证生效,它完全取决于Web应用程序。