我正在尝试向任何人授予对 IIS 中特定页面的访问权限。我有一个主文件夹,其中包含 C# 中的 .NET Framework 网站,在此文件夹中,我有一个 Web.config 文件,其中包含
<authentication mode="Windows">
</authentication>
</system.web>
<authorization>
<deny users="?" />
<deny users="*" />
<allow roles="MySpecial Group" />
</authorization>
</system.web>
此外,在这个文件夹中,我还有另一个文件夹,里面有一个页面,我想让不属于这个组的任何人都可以访问。有人能帮我配置这个 Web.config 文件吗,或者我如何在文件夹的页面中配置一个文件以使其可访问。
main site
|__Web.config //this is the main Web config with deny-all allow-mygroup
|__index.asp
|__my special page //this is the folder I want to be accessible to anyone
| |__default.aspx
| |__default.aspx.cs
| |__Web.config
|__page2
|__page3
如果用户不在组中,则转到主站它会显示无访问权限,如果用户访问主站/我的特别页面它应该可以工作。我正在使用Windows 身份验证在内部网网站中
编辑: 在@Lex Li 的帮助下解决了 我只遗漏了一件事,在主 Web.config 中,拒绝和允许规则从上到下覆盖,所以我必须在全局权限之前添加需要另一个权限的位置路径
<location path="my special page">
<system.web>
<authorization>
<allow users="?" /> <!-- This will overwrite bottom rules -->
</authorization>
</system.web>
</location>
<authentication mode="Windows">
</authentication>
</system.web>
<authorization>
<allow roles="MySpecial Group" /> <!-- This needs to be on top over next deny rules, otherwise this will have no effect -->
<deny users="?" />
<deny users="*" />
</authorization>
</system.web>