Asp.net角色无法正常工作

时间:2012-05-14 14:26:33

标签: asp.net web-config

我设置了角色管理,只有具有“员工”角色的用户才能查看页面。但是,它允许任何登录的人查看该页面,如何更改它以便只有那些同时登录并具有“员工”角色的用户才能查看我的页面?

      <location path="About.aspx">
        <system.web>
          <authorization>
            <deny users="?"/>
            <allow roles="Employee"/>
          </authorization>
        </system.web>
      </location>

1 个答案:

答案 0 :(得分:3)

根据MSDN

  

在运行时,授权模块遍历allow和   拒绝元素,从最本地的配置文件开始,直到   授权模块找到适合的第一个访问规则   特定用户帐户。然后,授权模块授予或   拒绝访问URL资源,具体取决于是否第一次访问   找到的规则是允许或拒绝规则

根据该解释,您应该允许员工(因为这将首先匹配),然后拒绝其他人。

  <location path="About.aspx">
    <system.web>
      <authorization>
        <allow roles="Employee"/>
        <deny users="*"/>
      </authorization>
    </system.web>
  </location>
相关问题