C# HTTP错误401.2-未经授权(对于DefaultDocument)
VS2013(和IIS)中的默认文档出现401.2错误。以下是我正在采取的步骤:C# HTTP错误401.2-未经授权(对于DefaultDocument),c#,asp.net,visual-studio-2013,iis-8,default-document,C#,Asp.net,Visual Studio 2013,Iis 8,Default Document,VS2013(和IIS)中的默认文档出现401.2错误。以下是我正在采取的步骤: 在VS2013中,右键单击选择“新建项目” 选择“ASP.NET Web应用程序”,单击“确定” 选择“空”项目,选中底部的“Web表单”,然后单击“确定” 右键单击项目并选择“添加| Web表单”-命名 “身份验证成功”作为页面内容的Default.aspx 右键单击项目并选择“添加| Web表单”-命名 Login.aspx 添加“登录”作为页面内容 分配一个设置“e.Authenticated”的“Authe
我不太愿意回答这个问题,因为我不明白为什么它对我有效。不过,评论太长,可能会对您有所帮助 我发现将以下内容添加到
System.Webserver
部分解决了这个问题:
<modules>
<remove name="FormsAuthentication"/>
<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" />
</modules>
关键似乎是从FormsAuthentication模块中删除
managedHandler
前提条件。据我所知,这只是为了优化静态内容的服务。所以我现在不知道为什么会有这种效果。我在尝试确定是否需要在System.Webserver
部分注册FormsAuthentication模块时遇到了这个问题。我认为defaultDocument文件名区分大小写Hanks Daniel。我已将案例更改为匹配-这不会影响结果:/是的,默认情况下,这些模块只针对“托管”请求运行,比如在URL中包含.aspx
,以及类似的内容。这同样适用于会话
等。您也可以使用runAllManagedModulesForAllRequests
属性将其应用于所有HTTP模块。@luaan但我仍不清楚这会影响defaultdDocument的原因,即“/”谢谢-这非常有趣。至少这是一个解决办法。我对此也感到困惑。似乎这两件事不应该有关联。我第一次在一个也注册了MVC管道的站点上遇到这个问题,我认为它与此相关-但是当问题发生在一个直接的WebForms项目上时,我又回到了困惑的状态。@DanielC那是因为你没有被重定向到Default.aspx
-请求只是转到服务器上的Default.aspx
。因此,用于确定要使用的模块和处理程序的实际请求URL只是/
,而不是/Default.aspx
。至少可以说,这有点疏忽。