有一点需要注意:我创建了一个带有个人用户帐户身份验证的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
答案 0 :(得分:4)
有同样的问题,并在我的web.config中找到了这个:
<system.webServer>
<modules>
<remove name="FormsAuthentication" />
</modules>
</system.webServer>
不确定它是如何实现的,但删除它解决了我的问题。
我想我会发布它以防万一它会帮助别人。