ASP.NET Forms身份验证需要启用匿名

时间:2013-05-22 18:24:41

标签: asp.net iis-7 forms-authentication asp.net-authentication

我正在使用使用表单身份验证的ASP.NET应用程序。但是,如果我关闭除表单之外的所有身份验证方法,我将得到一个

  

HTTP错误401.2 - 未经授权

尝试浏览任何页面时。但是,启用匿名身份验证可以修复它。是什么导致这种行为?谢谢!

2 个答案:

答案 0 :(得分:5)

通过这样做,您只允许用户访问网站(登录页面除外),如果他们已登录您的网站。

直接来自MSDN:

  

表单身份验证允许您使用自己的代码对用户进行身份验证,然后在cookie或页面URL中维护身份验证令牌。表单身份验证通过FormsAuthenticationModule类参与ASP.NET页面生命周期。您可以通过FormsAuthentication类访问表单身份验证信息和功能。

通过在web.config中设置loginUrl,您指示您的应用可以访问匿名用户的登录页面。如果用户尝试访问除loginUrl之外的页面,则他们将被重定向到该loginUrl。

网站通常会同时使用匿名和表单。匿名允许访问公共页面和表单auth以隐藏未登录到您网站的页面。

如果您正在使用ASP.Net成员资格和登录控件,那么使用(表单身份验证)会很棒,但如果您不打算使用这些,那么您就不必担心{{1}因为你可以建立自己的方法让用户获得访问权。

所以这就是说,如果你想将它全部锁定在一个页面上,那么在你的web.config中设置一个loginUrl

Forms Authentication

答案 1 :(得分:-1)