表单身份验证中的虚拟目录安全站点提供401 - 未经授权的错误

时间:2016-06-02 19:56:04

标签: asp.net asp.net-mvc iis-7.5

当我们更早地将更新的代码部署到我们的生产站点时,我们发现在我们的Web应用程序(基于Asp.NET MVC)内的虚拟目录中的静态内容链接突然显示401 - 未经授权的错误。

部署期间未进行任何配置更改;文件已在Web应用程序中更新,应用程序池已回收。401 - Unauthorized

1 个答案:

答案 0 :(得分:0)

罪魁祸首最终是因为升级nuget包已经从web.config中的节点剥离了一个属性:

<system.webServer>

   <modules>
     ...
   </modules>
</system.webServer>

更换属性修复了问题。

<system.webServer>

   <modules runAllManagedModulesForAllRequests="true">
     ...
   </modules>
</system.webServer>

由于虚拟目录在我们的开发环境中不存在,因此在部署到生产之前我们没有发现问题。经验教训!