如何在 IIS .NET Framework 中授予特定页面访问权限

如何在 IIS .NET Framework 中授予特定页面访问权限

我正在尝试向任何人授予对 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>

相关内容