我正在构建一个 webforms 应用程序,将页面分隔到文件夹中,使用 web.config 授权这些文件夹中的网页,仅将页面授权给经过身份验证的用户,并允许某些页面具有某些角色。
我有一个'beheer'文件夹,page1.aspx - page6.aspx 位于其中。我在该文件夹中也有一个 web.config,如下所示。
我以具有“管理员”角色的用户身份登录系统,这意味着我应该可以使用所有页面,如果我转到 page3、page4、page5 或 page6 它工作得很好,但转到 page1 或page2 它不起作用,我收到未经授权的消息,即使 page2 和 page3。我似乎无法弄清楚我错过了什么。
<configuration>
<system.web>
<authorization>
<deny users="?" />
<!-- Deny all unauthenticated users -->
</authorization>
</system.web>
<location path="Page1.aspx" >
<system.web>
<authorization>
<allow roles="Page1,Admin,UserAdmin"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
<location path="Page2.aspx" >
<system.web>
<authorization>
<allow roles="Page3,Admin,UserAdmin"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
<location path="Page3.aspx" >
<system.web>
<authorization>
<allow roles="Page3,Admin,UserAdmin"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
<location path="Page4.aspx,Page5.aspx,Page6.aspx" >
<system.web>
<authorization>
<allow roles="Admin,UserAdmin"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
</configuration>