mvc角色和权限需要设计指导

本文关键字:角色 权限 mvc | 更新日期: 2023-09-27 18:20:34

对于我的应用程序,我需要设置基于角色的授权。我在网上看到一些样品,但我的要求有点不同。我有经理、管理员、提交人等角色。然后我有区域经理、国家经理、区域管理员、国家管理员、区域提交人、国家提交人等子角色,所以有一些类似角色和子角色的东西。

我的问题是,当我在.net MVC中设计这个时,我应该把子例程视为角色,并根据区域和子区域定义10个不同的角色,还是应该把admin、submitter&经理,然后在代码中单独处理子角色?

什么是正确的设计?

有什么样品我可以看一下吗?

谢谢。

mvc角色和权限需要设计指导

我在许多应用程序中都遇到过同样的情况。尽管我的角色有不同的名字。使用你的命名结构,我倾向于遵循你建议的前一种结构。

如果用户担任以下角色:经理、国家/地区。

您的用户仍将被允许执行标有[授权(角色="经理,区域")]的操作,但在标有[授权(角色="区域经理")]的操作中不允许

我还没有找到一种方法来禁止使用[授权]属性的角色(如在中,如果不在角色中,或者在角色中AND中)。

另一种想法是,如果您有一个特定于经理的控制器,您可以根据需要将控制器和操作上的[Authorize(Roles="Manager")]属性设置为[Authorify(Roles="Regional")]或[Authorize[Roles="Country"]。

我认为,只有当用户在某些操作中同时担任(例如)"经理"answers"区域"角色时,才允许用户同时担任这两个角色。通过这种方式,您可以将"经理"、"区域"answers"国家/地区"角色分开。这样可以更容易地根据需要为用户分配角色。