使用IIS8.0 Express进行.NET Forms身份验证(vs2013) - 401.2。:未授权:由于服务器配置,登录失败

时间:2014-09-18 02:14:41

标签: asp.net forms authentication webforms authorization

有一点需要注意:我创建了一个带有个人用户帐户身份验证的Webapp并添加了      它完全按预期工作。我想知道这个应用程序和从无身份验证开始时有什么不同。

我创建了一个没有身份验证的新的webforms应用程序,只是为了确保我的项目中没有任何特定内容。按照this tutorial设置基本表单身份验证。当我加载我的项目时,我得到以下错误,而不是它将我重定向到我的Login.aspx页面。我的总体目标是创建一个基本上不允许用户访问任何页面的webapp,除非他们已登录。由于我在forms标签中指定了Login页面,我假设它为匿名用户提供了一个可访问的页面,所以每个人都可以登录。我觉得我的问题与IIS8.0 Express或我的项目设置有关。 'Windows身份验证=已禁用''匿名身份验证=已启用'。

<system.web>
  <authentication mode="Forms">
    <forms loginUrl="~/Security/Login.aspx" name=".ASPXFORMSAUTH" timeout="60">
    </forms>
  </authentication>
  <authorization>
    <deny users="?" />
  </authorization>
</system.web>

以下是我收到的错误:

应用程序中的服务器错误。

拒绝访问。

描述:访问提供此请求所需的资源时发生错误。可能未配置服务器以访问请求的URL。

错误消息401.2。:未授权:由于服务器配置,登录失败。验证您是否有权根据您提供的凭据和Web服务器上启用的身份验证方法查看此目录或页面。请与Web服务器的管理员联系以获取其他帮助。

版本信息:Microsoft .NET Framework版本:4.0.30319; ASP.NET版本:4.0.30319.34212

1 个答案:

答案 0 :(得分:4)

有同样的问题,并在我的web.config中找到了这个:

<system.webServer> <modules> <remove name="FormsAuthentication" /> </modules> </system.webServer>

不确定它是如何实现的,但删除它解决了我的问题。

我想我会发布它以防万一它会帮助别人。