我想知道acl_entry表中的权限检索到的sid(“currentSid”)是否是主体或权限的权限。
for (int j = 0; j < acl.getEntries().size(); j++) {
String currentPermissionPattern = acl.getEntries().get(j).getPermission().getPattern();
String currentSid = acl.getEntries().get(j).getSid().toString();
}
我目前正在将currentSid存储为字符串。假设我把它存储为Sid,我怎么知道这个Sid是属于用户还是角色。
答案 0 :(得分:1)
你可以这样做:
if (acl.getEntries().get(j).getSid() instanceof GrantedAuthoritySid) {
GrantedAuthoritySid sid = (GrantedAuthoritySid) acl.getEntries().get(j).getSid();
// it's role
} else {
PrincipalSid sid = (PrincipalSid) acl.getEntries().get(j).getSid();
// it's user
}