拒绝访问特定角色

时间:2012-08-08 08:33:11

标签: c# asp.net .net

我有一个基于角色访问的UserManagement文件夹,如下所示。

<authorization>
    <deny users="?" />
    <allow roles="UserAdmin_M"/>
    <allow roles="UserAdmin_MC"/>
    <deny roles="ReportsAdmin"/>
  </authorization>

管理员可以访问其他文件夹以及报告。 现在的问题是,我有一个用户“TestUser”,其角色是UserAdmin_M和ReportsAdmin,但是应用程序阻止了对TestUser的“UserManagement”文件夹的访问。如何克服这个?

1 个答案:

答案 0 :(得分:1)

我可能错了,但这可能与您为用户分配角色的顺序有关吗?来自MSDN,它声明:

  

在运行时,授权模块从最本地配置文件开始迭代允许和拒绝元素,直到授权模块找到适合特定用户帐户的第一个访问规则。然后,授权模块根据所找到的第一个访问规则是允许还是拒绝规则,授予或拒绝访问URL资源。

确保您在UserAdmin_M规则之前分配ReportsAdmin角色。

仅供参考 - 您可以在配置中使用逗号分隔角色:

<authorization>
    <deny users="?" />
    <allow roles="UserAdmin_M, UserAdmin_MC" />
    <deny roles="ReportsAdmin" />
</authorization>