我在web.config中有以下内容,但仍然没有角色MAnager或Admin的用户仍然可以访问pAccessData.aspx页面。 该页面存储在目录Users
中<location path="Users" >
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
<location path="~/Users/ChangePassword.aspx" >
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
<location path="~/Users/pAccessData.aspx" >
<system.web>
<authorization>
<allow roles="Manager,Admin"/>
<deny users="*" />
</authorization>
</system.web>
</location>
答案 0 :(得分:3)
您没有添加<deny users="?"/>
,它应该像......
<location path="Users/pAccessData.aspx" >
<system.web>
<authorization>
<deny users="?"/>
<allow roles="Manager,Admin"/>
</authorization>
</system.web>
</location>
编辑:您已指定<allow users="*" />
,这意味着它将允许访问所有用户,因为您尚未提及用户可以访问该文件夹的角色。
<location path="Users" >
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>