表单身份验证无法重定向到登录

时间:2017-08-24 21:13:47

标签: iis web-config forms-authentication

我正在VS 2017中开发一个WebForms项目,我想添加Forms Authentication,以便匿名用户无法访问特定页面(称为Resources)。到目前为止,我的登录页面正在登录用户,经过身份验证的用户可以访问资源,所有用户都可以浏览我的未受保护的页面。

这是我的问题:每当匿名用户尝试访问资源时,都会发生服务器错误,而不是重定向到“登录”页面。在IIS Express中,错误消息是“HTTP错误401.0 - 未经授权。您无权查看此目录或页面”。在本地IIS中,它显示“错误消息401.2:未授权:登录因服务器配置而失败。请确认您有权根据您提供的凭据和Web服务器上启用的身份验证方法查看此目录或页面。< / em>的

我相信浏览器和服务器正在尝试使用不同的方法进行身份验证,但我无法弄清楚如何解决这个问题。

在IIS管理器中,我启用了表单和匿名身份验证,并禁用了我网站的其他方法。对于匿名身份验证,我尝试将用户设置为IUSR以及应用程序池标识,同时在具有完全安全权限的DefaultAppPool上运行 - 两者都不起作用。对于Forms auth,参数匹配我的web.config文件,即同名和登录URL(不确定是否重要)。

以下是我的web.config中的身份验证和授权代码:

  <authentication mode="Forms">
    <forms name=".ASPXAUTH" defaultUrl="Index.aspx" loginUrl="Login.aspx" />
  </authentication>
</system.web>
<location path="Resources.aspx">
  <system.web>
    <authorization>
      <deny users="?" />
      <allow users="*" />
    </authorization>
  </system.web>
</location>

我错过了一些明显的东西吗?我应该检查其他设置吗?非常感谢任何帮助!

0 个答案:

没有答案