【发布时间】:2016-09-05 03:25:31
【问题描述】:
我正在努力完成以下工作
有多个角色(role1、role2、role3 等),它们都有不同的访问级别。 Role2 可以访问与 role1 相同的内容,但不能访问 role3。
我知道我可以使用控制器中的 authorize 属性来做到这一点,但是有没有其他方式可能更优雅,而不仅仅是属性中的角色列表?
【问题讨论】:
-
为什么不将角色组合成一个聚合角色并在控制器上使用该角色?您也可以编写自己的AutherizationAttribute,并在该类中定义自己的自定义逻辑。
-
@Igor 自定义属性是个好主意!谢谢:)
-
另一个建议。如果角色(N)可以访问角色(N-1),那么给用户多个角色。例如角色 3 中的用户也可以在角色 2 和角色 1 中。这样,您无需在 Authorize 属性中添加角色列表,而是拥有 1 个角色,等于访问级别。
标签: c# asp.net asp.net-mvc roles