gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 11:01:54 25 4
gpt4 key购买 nike

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

我的问题是,当我在 .net MVC 中设计它时,我应该将哪些子角色视为角色并根据区域和子区域定义 10 个不同的角色,或者我应该将角色分组,例如管理员、提交者和经理,然后处理子角色在代码中分开?

什么是正确的设计?

有没有我可以看的样本?

谢谢。

最佳答案

许多应用程序都遇到过同样的情况。虽然我的角色有不同的名字。使用您的命名结构,我倾向于遵循您建议的先前结构。

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

您的用户仍然可以进行标有 [Authorize(Roles = "Manager, Regional")] 的操作,但不允许在标有 [Authorize(Roles = "Regional Manager")]

的操作中使用

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

另一种想法,如果您有一个特定于经理的 Controller ,您可以将 Controller 和操作上的 [Authorize(Roles = "Manager")] 属性设置为 [Authorize(Roles = "Regional")] 或 [Authorize (角色 =“国家/地区”] 根据需要。

我认为,只有当用户同时处于(例如)“经理”和“区域”角色时,才允许用户执行某些要求用户同时担任这两个角色的操作。这样您就可以将“经理”、“区域”和“国家/地区”角色分开。这应该可以更轻松地根据需要将用户分配给角色。

关于c# - mvc 角色和权限 需要设计指导,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17416006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com