是否可以使用
Windows身份验证在ASP.net应用程序的一个或多个子文件夹上禁用Windows身份验证?
例如:
一个网站包含几个其他文件夹,其中包含整个应用程序的一部分:/ frontend,/ backend,/ login
所有这些子文件夹都包含使用位于网站根目录的bin文件夹中的二进制文件的页面.
用户在访问后端文件夹中的页面时必须输入Windows凭据,但在访问登录或前端文件夹中的页面时则不能.
我正在使用IIS7
有任何想法吗?
找到了解决方案:
>调整applicationHost.config文件并将“overrideModeDefault”更改为“Allow”
对于anonymousAuthentication和windowsAuthentication部分条目
<section name="anonymousAuthentication" overrideModeDefault="Allow" /> <section name="windowsAuthentication" overrideModeDefault="Allow" />
>在web.config中为需要从Windows身份验证中排除的每个文件夹/文件添加了位置标记
<location path="pathToDirOrFile"> <system.webServer> <security> <authentication> <anonymousAuthentication enabled="true" /> <windowsAuthentication enabled="false" /> </authentication> </security> </system.webServer> </location>
>确保这些文件夹中的每一个都包含一个单独的web.config文件,该文件禁用身份模拟
<configuration> <system.web> <identity impersonate="false" /> </system.web> </configuration>