背景:我正在考虑整合应用程序的安全角色。有 20 个角色可以应用于五个访问级别(如区、县、州)中的一个或多个。大多数用户在每个访问级别都有多个角色,因此我想按访问级别获取有关用户最常见分组的统计信息。
编辑:业务用户对进入系统的人员的工作角色和使用系统的人员的安全角色感到困惑。工作角色和安全角色之间存在直接映射。企业所有者发现他们不想管理可能分配给用户的角色数量的安全性。
我为角色创建了等效的标志枚举(Id 是角色的主键,标志是我的 flay 值):
DECLARE @flags table(Id int,Flag int);
insert into @flags
values (1 , 1),
(2 , 2),
(4 , 4),
(5 , 8),
(6 , 16),
(7 , 32),
(8 , 64),
(9 , 128),
(10 , 256),
(11 , 512),
(12 , 1024),
(13 , 2048),
(14 , 4096),
(15 , 8192),
(16 , 16384),
(17 , 32768),
(18 , 65536),
(19 , 131072),
(20 , 262144),
(21 , 524288)
我已经查询了系统中按访问级别分组的每个用户的用户角色总和,并想查询用户群体最常见的角色分组是什么,这样我就可以确保我不会新角色设置太笼统。
UserName Roles AccessLevel
User1@test.edu 8192 County
User1@test.edu 262400 District
任何指向正确方向的指针都会很好。我不是很精通统计,所以如果我使用的整个方法不好,请告诉我。