Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# HTTP错误401.2-未经授权(对于DefaultDocument)_C#_Asp.net_Visual Studio 2013_Iis 8_Default Document - Fatal编程技术网

C# HTTP错误401.2-未经授权(对于DefaultDocument)

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

VS2013(和IIS)中的默认文档出现401.2错误。以下是我正在采取的步骤:

  • 在VS2013中,右键单击选择“新建项目”
  • 选择“ASP.NET Web应用程序”,单击“确定”
  • 选择“空”项目,选中底部的“Web表单”,然后单击“确定”
  • 右键单击项目并选择“添加| Web表单”-命名 “身份验证成功”作为页面内容的Default.aspx
  • 右键单击项目并选择“添加| Web表单”-命名 Login.aspx
  • 添加“登录”作为页面内容
  • 分配一个设置“e.Authenticated”的“Authentication”事件处理程序 =正确“
  • 更新web.config,如下所示
  • 按F5

  • 我不太愿意回答这个问题,因为我不明白为什么它对我有效。不过,评论太长,可能会对您有所帮助

    我发现将以下内容添加到
    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
    。至少可以说,这有点疏忽。