我正在构建一个具有分层角色的 Web 应用程序。
例如,管理员、mod、用户角色。
如果用户是版主,并且 .IsInRole("User") 已完成,那么它将返回 true,因为 mod 在用户之上。还将有一个权限表允许(true)/拒绝(false)用于不同角色的各种操作。
还会有不同的“起始”角色会向下分支;admin2、mod2、user2,但普通 mod 不会被视为 user2,只会被视为普通用户。
是否有任何库允许这种类型的角色/权限功能?
我正在构建一个具有分层角色的 Web 应用程序。
例如,管理员、mod、用户角色。
如果用户是版主,并且 .IsInRole("User") 已完成,那么它将返回 true,因为 mod 在用户之上。还将有一个权限表允许(true)/拒绝(false)用于不同角色的各种操作。
还会有不同的“起始”角色会向下分支;admin2、mod2、user2,但普通 mod 不会被视为 user2,只会被视为普通用户。
是否有任何库允许这种类型的角色/权限功能?
我会强烈考虑在角色中使用基于声明的方案。但是,我的反应是创建一个自定义 IPrincipal 对象,覆盖 IsInRole 方法,并为您的角色(您知道,1、2、4、8)值使用按位标志枚举。
我的开源项目有一个基于声明的工作实现。 https://github.com/wcpro/scaffr-generated