共享属性和方法之间角色属性的初始化我有一个权限属性,获取角色的枚举值列表:Admin,SystemRole.ID.User)]publicclassMyController:Controller{....}但是,在代码的其他部分,我想检查用户是否处于这些角色中的任何一个,因此我可以转到正确的页面。所以代码看起来像:if(roles.IsInAnyRoles(user,SystemRole.ID.Admin,SystemRole.ID.User){...在变量或初始值设定项列表中有两个角色,或者我可以传递给属性和方法。创建const数组不起作用。有没有办法做到这一点?我可以以某种方式存储数组初始值设定项吗?任何帮助都会有任何帮助不胜感激!更新我已经将角色枚举变成了标志枚举(为项目赋予了适当的值)。这意味着我可以给出一个值或多个值一起给出一个常量值。我现在可以在属性和方法在中使用那个常量值感谢下面的DannyChen在我实际的项目经验中,我想这样定义角色;[Flags]publicenumRole{Staff=0,Supervisor=1,Manager=2,Admin=4、HelpDesk=8}原因是一个账户通常有一些关联的角色,比如某人是Bob的主管,他同时也是IT部门的经理。在这种情况下,他的角色是Role.Supervisor|角色.经理角色.主管|Role.Manager以便他可以使用提供给Role.Supervisor的所有功能(例如批准Bob的休假请求),同时他可以批准所有IT部门员工的休假请求。动作如下:[CheckRole(Role.Supervisor,Role.Manager)]publicActionResultApproveLeavingRequest(){//CheckRoleAttribute的构造函数中的角色是OR关系}[CheckRole(Role.Manager|Role.Supervisor,Role.Admin)]publicActionRequestModifySystemSettings(){//这个方法提供给一小部分人//那些是经理和主管的人//或者他是管理员}[CheckRole(Role.Manager|Role.Supervisor|Role.Admin)]//也许我们需要在系统中添加Role.Boss:)publicActionRequestIncreasePay(){//只有老板账户可以调用这个方法}希望这有帮助。以上就是C#学习教程的全部内容:共享属性和方法之间角色属性的初始化。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
