private List<Sid> getAllSids(String project) { List<Sid> allSids = new ArrayList<>(); ProjectInstance prj = projectService.getProjectManager().getProject(project); AclEntity ae = accessService.getAclEntity("ProjectInstance", prj.getUuid()); Acl acl = accessService.getAcl(ae); if (acl != null && acl.getEntries() != null) { for (AccessControlEntry ace : acl.getEntries()) { allSids.add(ace.getSid()); } } return allSids; }
public List<String> getAllAclSids(Acl acl, String type) { if (null == acl) { return Collections.emptyList(); } List<String> result = new ArrayList<>(); for (AccessControlEntry ace : acl.getEntries()) { String name = null; if (type.equalsIgnoreCase(MetadataConstants.TYPE_USER) && ace.getSid() instanceof PrincipalSid) { name = ((PrincipalSid) ace.getSid()).getPrincipal(); } if (type.equalsIgnoreCase(MetadataConstants.TYPE_GROUP) && ace.getSid() instanceof GrantedAuthoritySid) { name = ((GrantedAuthoritySid) ace.getSid()).getGrantedAuthority(); } if (!StringUtils.isBlank(name)) { result.add(name); } } return result; }
public Object generateAllAceResponses(Acl acl) { List<AccessEntryResponse> result = new ArrayList<AccessEntryResponse>(); while (acl != null) { for (AccessControlEntry ace : acl.getEntries()) { result.add(new AccessEntryResponse(ace.getId(), ace.getSid(), ace.getPermission(), ace.isGranting())); } acl = acl.getParentAcl(); } return result; }
public List<AccessEntryResponse> generateAceResponsesByFuzzMatching(Acl acl, String nameSeg, boolean isCaseSensitive) { if (null == acl) { return Collections.emptyList(); } List<AccessEntryResponse> result = new ArrayList<AccessEntryResponse>(); for (AccessControlEntry ace : acl.getEntries()) { if (nameSeg != null && !needAdd(nameSeg, isCaseSensitive, getName(ace.getSid()))) { continue; } result.add(new AccessEntryResponse(ace.getId(), ace.getSid(), ace.getPermission(), ace.isGranting())); } return result; }
private Map<String, Integer> getProjectPermission(String project) { Map<String, Integer> SidWithPermission = new HashMap<>(); String uuid = ProjectManager.getInstance(KylinConfig.getInstanceFromEnv()).getProject(project).getUuid(); AclEntity ae = getAclEntity(AclEntityType.PROJECT_INSTANCE, uuid); Acl acl = getAcl(ae); if (acl != null && acl.getEntries() != null) { List<AccessControlEntry> aces = acl.getEntries(); for (AccessControlEntry ace : aces) { Sid sid = ace.getSid(); if (sid instanceof PrincipalSid) { String principal = ((PrincipalSid) sid).getPrincipal(); SidWithPermission.put(principal, ace.getPermission().getMask()); } if (sid instanceof GrantedAuthoritySid) { String grantedAuthority = ((GrantedAuthoritySid) sid).getGrantedAuthority(); SidWithPermission.put(grantedAuthority, ace.getPermission().getMask()); } } } return SidWithPermission; }
boolean administrativeMode) throws NotFoundException { final List<AccessControlEntry> aces = acl.getEntries();
private Multimap<String, String> getPermissions(Map<ObjectIdentity, Acl> acls, Sid sid) { Multimap<String, String> result = LinkedHashMultimap.create(); acls.forEach( (objectIdentity, acl) -> { String id = objectIdentity.getIdentifier().toString(); acl.getEntries() .stream() .filter(ace -> ace.getSid().equals(sid)) .map(this::getPermissionString) .forEach(permission -> result.put(id, permission)); }); return result; }
final List<AccessControlEntry> aces = acl.getEntries(); pgc.setHasAces(!aces.isEmpty());
public Builder from(Acl aclData) { if(aclData instanceof MutableAcl) { this.setId((Long)((MutableAcl) aclData).getId()); } final List<AccessControlEntry> srcEntries = aclData.getEntries(); if(srcEntries != null) { final int size = srcEntries.size(); final List<AceData> aceDatas = new ArrayList<>(size); for(int i = 0; i < size; ++i) { AccessControlEntry entry = srcEntries.get(i); AceData aceData = AceDataImpl.builder().from(entry).build(); aceDatas.add(aceData); } this.setEntries(aceDatas); } this.setObjectIdentity(aclData.getObjectIdentity()); this.setOwner(aclData.getOwner()); Acl parentAcl = aclData.getParentAcl(); if(parentAcl != null) { this.setParentAclData(AclDataImpl.builder().from(parentAcl).build()); } this.setEntriesInheriting(aclData.isEntriesInheriting()); return this; }
public boolean isGranted( Acl acl, List<Permission> permission, List<Sid> sids, boolean administrativeMode) { final List<AccessControlEntry> aces = acl.getEntries();
boolean administrativeMode) throws NotFoundException { final List<AccessControlEntry> aces = acl.getEntries();