我正在使用使用表单身份验证的ASP.NET应用程序。但是,如果我关闭除表单之外的所有身份验证方法,我将得到一个
HTTP错误401.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)