授权 Asp.net web.config
Posted
技术标签:
【中文标题】授权 Asp.net web.config【英文标题】:Authorization Asp.net web.config 【发布时间】:2010-10-13 03:40:34 【问题描述】:我有一个有后台的应用程序。 这个后台是通过使用这样的角色来隔离的:
<location path="backoffice">
<system.web>
<authorization>
<allow roles="admin"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
但是现在我们有另一种类型的角色需要访问。 companyadmin 角色。
我可以说吗?:
<location path="backoffice">
<system.web>
<authorization>
<allow roles="admin,companyadmin"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
【问题讨论】:
【参考方案1】:是的,确实如此(假设您正确验证了您的用户,并相应地设置了他们的角色)。
查看 MSDN 文章:https://docs.microsoft.com/en-us/previous-versions/dotnet/netframework-1.1/8d82143t(v=vs.71)
【讨论】:
请注意顺序确实很重要。根据文档,它将以短路方式一次检查一个规则。即,如果第一条规则是“全部拒绝”,那么资源将被拒绝。如果用户通过第一条规则并允许,则授予访问权限。【参考方案2】:是的,你可以添加 n 个这样的角色。
如果您愿意,您还可以:
<allow roles="admin"/>
<allow roles="admin1"/>
<deny users="*"/>
【讨论】:
那个语法到底是怎么回事? @mbillard 他说的是“N”个角色,意思是需要多少就多少。【参考方案3】:是的,角色、用户和动词采用逗号分隔值。
MSDN Reference
【讨论】:
以上是关于授权 Asp.net web.config的主要内容,如果未能解决你的问题,请参考以下文章