我正在阅读有关Spring Security ACL lib的内容,我对某些概念感到有些困惑。关于SID,它表明了我的困惑:
ACL_SID允许我们唯一地标识其中的任何主体或权限 系统(“SID”代表“安全标识”)。唯一的专栏 是ID,SID的文本表示和标志 表明文本表示是指一个主要名称 或GrantedAuthority。
主角和角色一样吗? GrantedAuthority是一个平等的概念还是一个特定的角色?布尔字段principal
= true是否表示标识符具有语义值或仅仅是它是系统中的角色?如果是这样,为什么要存储未在系统中计算的SID?
答案 0 :(得分:2)
ACL(访问控制列表)由许多条目(规则)组成,其中每个条目引用 sid ,这是一个用户或一组用户,用于应用条目/规则
如果主要字段设置为true
,则sid是主体,即单个用户。然后,sid字段包含用户名。
如果主要字段设置为false
,则sid是权限,例如ROLE_ADMIN。 GrantedAuthority与角色基本相同(角色是一种权威)。