授权 Asp.net web.config

12

我有一个带有后台管理系统的应用程序。 使用类似以下方式的角色隔离了这个后台管理系统:

<location path="backoffice">
    <system.web>
        <authorization>
            <allow roles="admin"/>
            <deny users="*"/>
        </authorization>
    </system.web>
</location>

但现在我们有了另一种需要访问权限的角色。公司管理员角色。

我可以这么说吗?:

 <location path="backoffice">
        <system.web>
            <authorization>
                <allow roles="admin,companyadmin"/>
                <deny users="*"/>
            </authorization>
        </system.web>
    </location>
3个回答

9

1
值得注意的是,顺序很重要。根据文档,它将以短路方式逐个检查规则。即,如果第一条规则是“拒绝所有”,则将拒绝该资源。如果用户通过第一条允许规则,则授予访问权限。 - General Grievance

4

是的,您可以像那样添加n个角色。

如果您愿意,您也可以:

<allow roles="admin"/>
<allow roles="admin1"/>
<deny users="*"/>

2
那个语法到底是怎么回事? - mbillard
2
@mbillard 他的意思是“N”个角色,意味着需要多少就有多少。 - user441521

4
是的,角色、用户和动词都可以使用逗号分隔的值。

MSDN 参考


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接