如何拒绝角色中的用户,除非他们在.NET中担任另一个角色c#

时间:2013-08-02 09:16:41

标签: c# asp.net .net authorization

我正在开发一个遗留系统,该系统包含多个用户,这些用户可以分配一个或多个角色 无论出于何种原因,任何管理员都会为其分配管理员角色以及每个其他角色。

此配置设置出现问题:

<location>
  <system.web>
    <authorization>
      <deny users="?" roles="ROLE1"/>
    </authorization>
  </system.web>
</location>

由于管理员已为其分配了“ROLE1”,因此将拒绝他们访问。

我知道我可以通过允许除“ROLE1”之外的每个角色来修复它,但是有很多角色,这将是一个维护噩梦。

除非用户也是“管理员”角色的成员,否则是否允许拒绝“ROLE”的允许和拒绝组合?

由于

1 个答案:

答案 0 :(得分:1)

仅在拒绝规则之前允许管理员是否足够? 从上到下检查授权规则,直到找到匹配为止。

<authorization>
    <allow roles="Admin"/>
    <deny users="?" roles="ROLE1"/>
</authorization>