Tom*_*son 6 iis-7 windows-authentication asp-classic
我们有一个IIS7内部网站点在集成管道下运行,主要是ASP.Net和一些传统的经典ASP页面.该站点允许匿名访问大多数区域,但使用Windows身份验证来保护某些文件夹.对受保护文件夹中的ASP.Net页面的请求按预期运行(授权用户可以看到它们,其他人被拒绝),但任何用户都可以在受保护文件夹中看到任何经典ASP页面,无论权限如何.
我怀疑没有为经典ASP页面的请求调用Windows身份验证模块.我们正在以集成管道模式运行,我发现这篇文章(http://learn.iis.net/page.aspx/244/how-to-take-advantage-of-the-iis7-integrated-pipeline/)这表示如果要利用非ASP.Net请求的集成管道,则需要显式删除和重新添加模块.我试图复制文章的示例,只是将WindowsAuthenticationModule替换为FormsAuthenticationModule,方法是将以下内容添加到应用程序根目录下的web.config:
<system.webServer>
<modules>
<remove name="WindowsAuthentication" />
<add name="WindowsAuthentication" type="System.Web.Security.WindowsAuthenticationModule" preCondition="" />
</modules>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)
但是,无论是否允许,仍然会提供经典的ASP页面.
经典 ASP 页面实际上完全忽略web.config或忽略任何内容.config。
对于经典 ASP 处理此问题的唯一方法是通过 IIS,您必须将经典 ASP 页面移动到单独的虚拟网站下,然后为该虚拟网站设置 Windows 身份验证并禁用匿名访问。
这也可能对您有帮助:
IIS7:像 IIS6 一样设置集成 Windows 身份验证
| 归档时间: |
|
| 查看次数: |
8200 次 |
| 最近记录: |