我最近创建了一个利用Windows身份验证的MVC应用程序。我有一个名为" EventReceivers"的子目录。想要允许匿名访问。我已使用正确的位置元素更新了我的web.config,并且所有工作在Windows Server 2012 w / IIS8上都正常。但是,当我将同一项目部署到Azure包时,EventReceivers目录中的文件会提示用户输入凭据。 下面是我的web.config片段。有什么建议吗?
<system.web>
<customErrors mode="Off"/>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
<authentication mode="Windows" />
<authorization>
<allow verbs="OPTIONS" users="*" />
<deny users="?" />
</authorization>
</system.web>
<location path="EventReceivers">
<system.web>
<authorization>
<allow users="?" />
</authorization>
</system.web>
</location>
答案 0 :(得分:1)
您还必须在location元素中禁用Windows身份验证,如下所示:
<location path="EventReceivers">
<system.web>
<authorization>
<allow users="?"/>
</authorization>
</system.web>
<system.webServer>
<security>
<authentication>
<windowsAuthentication enabled="false" />
<anonymousAuthentication enabled="true" />
</authentication>
</security>
</system.webServer>
</location>