EnumSet<RepositoryFilePermission> permissions = ace.getPermissions(); EnumSet<RepositoryFilePermission> permissionSet = EnumSet.noneOf( RepositoryFilePermission.class ); RepositoryFileSid aceSid = ace.getSid(); ObjectRecipient recipient = new RepositoryObjectRecipient( aceSid.getName() ); if ( aceSid.getType().equals( RepositoryFileSid.Type.USER ) ) {
/** * Entries inheriting is set to false when this method is called. */ public Builder ace( final RepositoryFileSid recipient, final RepositoryFilePermission first, final RepositoryFilePermission... rest ) { return ace( new RepositoryFileAce( recipient, EnumSet.of( first, rest ) ) ); }
/** * Entries inheriting is set to false when this method is called. */ public Builder ace( final RepositoryFileSid recipient, final EnumSet<RepositoryFilePermission> permissions ) { return ace( new RepositoryFileAce( recipient, permissions ) ); }
public static RepositoryFileAclAceDto toAceDto( RepositoryFileAce v ) { RepositoryFileAclAceDto aceDto = new RepositoryFileAclAceDto(); RepositoryFileSid sid = v.getSid(); aceDto.setRecipient( sid.getName() ); aceDto.setRecipientType( sid.getType().ordinal() ); aceDto.setPermissions( toIntPerms( v.getPermissions() ) ); return aceDto; }
/** * Entries inheriting is set to false when this method is called. */ public Builder ace( final String name, final RepositoryFileSid.Type type, final RepositoryFilePermission first, final RepositoryFilePermission... rest ) { return ace( new RepositoryFileAce( new RepositoryFileSid( name, type ), EnumSet.of( first, rest ) ) ); }
if ( fileAce != null && fileAce.getSid() != null && fileAce.getPermissions() != null ) { for ( RepositoryFilePermission filePermission : fileAce.getPermissions() ) { if ( RepositoryFileSid.Type.USER == fileAce.getSid().getType() ) { fileAcl.setRecipient( fileAce.getSid().getName() ); } else { fileAcl.setRecipient( new SimpleGrantedAuthority( fileAce.getSid().getName() ) );
/** * Entries inheriting is set to false when this method is called. */ public Builder ace( final String name, final RepositoryFileSid.Type type, final EnumSet<RepositoryFilePermission> permissions ) { return ace( new RepositoryFileAce( new RepositoryFileSid( name, type ), permissions ) ); }
private boolean hasAccess( final Serializable fileId, final EnumSet<RepositoryFilePermission> permissions ) { String username = currentUserProvider.getUser(); List<String> roles = currentUserProvider.getRoles(); RepositoryFileAcl acl = idManager.getFileById( fileId ).getAcl(); if ( acl.getOwner().getType() == USER && acl.getOwner().getName().equals( username ) ) { return true; // owner can do anything } List<RepositoryFileAce> aces = internalGetEffectiveAces( fileId ); for ( RepositoryFileAce ace : aces ) { if ( ace.getSid().equals( everyone() ) && ace.getPermissions().containsAll( permissions ) ) { return true; // match special everyone role } else if ( ace.getSid().getType() == USER && ace.getSid().getName().equals( username ) && ace.getPermissions().containsAll( permissions ) ) { return true; // match on user } for ( String role : roles ) { if ( ace.getSid().getType() == ROLE && ace.getSid().getName().equals( role ) && ace.getPermissions().containsAll( permissions ) ) { return true; // match on role } } } return false; }
private static RepositoryFileAce toAce( final Session session, final AccessControlEntry acEntry ) throws RepositoryException { Principal principal = acEntry.getPrincipal(); RepositoryFileSid sid = null; if ( principal instanceof Group ) { sid = new RepositoryFileSid( principal.getName(), RepositoryFileSid.Type.ROLE ); } else { sid = new RepositoryFileSid( principal.getName(), RepositoryFileSid.Type.USER ); } Privilege[] privileges = acEntry.getPrivileges(); IPermissionConversionHelper permissionConversionHelper = new DefaultPermissionConversionHelper( session ); return new RepositoryFileAce( sid, permissionConversionHelper.privilegesToPentahoPermissions( session, privileges ) ); }
for ( RepositoryFileAce ace : acl.getAces() ) { Principal principal = null; if ( RepositoryFileSid.Type.ROLE == ace.getSid().getType() ) { principal = new SpringSecurityRolePrincipal( JcrTenantUtils.getTenantedRole( ace.getSid().getName() ) ); } else { principal = new SpringSecurityUserPrincipal( JcrTenantUtils.getTenantedUser( ace.getSid().getName() ) ); ace.getPermissions() ) );
protected RepositoryFileAce toAce( final Session session, final AccessControlEntry acEntry ) throws RepositoryException { Principal principal = acEntry.getPrincipal(); RepositoryFileSid sid = null; String name = principal.getName(); DefaultPermissionConversionHelper permissionConversionHelper = new DefaultPermissionConversionHelper( session ); if ( principal instanceof Group ) { sid = new RepositoryFileSid( JcrTenantUtils.getRoleNameUtils().getPrincipleName( name ), RepositoryFileSid.Type.ROLE ); } else { sid = new RepositoryFileSid( JcrTenantUtils.getUserNameUtils().getPrincipleName( name ), RepositoryFileSid.Type.USER ); } logger.debug( String.format( "principal class [%s]", principal.getClass().getName() ) ); //$NON-NLS-1$ Privilege[] privileges = acEntry.getPrivileges(); return new RepositoryFileAce( sid, permissionConversionHelper .privilegesToPentahoPermissions( session, privileges ) ); }
for ( RepositoryFileAce ace : acl.getAces() ) { Principal principal = null; if ( RepositoryFileSid.Type.ROLE == ace.getSid().getType() ) { String principalName = JcrTenantUtils.getRoleNameUtils().getPrincipleName( ace.getSid().getName() ); if ( tenantAdminAuthorityName.equals( principalName ) ) { adminPrincipalExist = true; principal = new SpringSecurityRolePrincipal( JcrTenantUtils.getTenantedRole( ace.getSid().getName() ) ); } else { principal = new SpringSecurityUserPrincipal( JcrTenantUtils.getTenantedUser( ace.getSid().getName() ) ); ace.getPermissions() ) ); principalTenant = JcrTenantUtils.getRoleNameUtils().getTenant( acl.getAces().get( 0 ).getSid().getName() );
public static RepositoryFileAce toAce( RepositoryFileAclAceDto v ) { return new RepositoryFileAce( new RepositoryFileSid( v.getRecipient(), RepositoryFileSid.Type.values()[v.getRecipientType()] ), toPerms( v.getPermissions() ) ); }
assertTrue( !acl.isEntriesInheriting() ); assertTrue( acl.getAces().size() == 1 ); assertTrue( "Authenticated".equals( acl.getAces().get( 0 ).getSid().getName().toString() ) ); assertTrue( RepositoryFileSid.Type.ROLE.equals( acl.getAces().get( 0 ).getSid().getType() ) ); assertTrue( acl.getAces().get( 0 ).getPermissions().size() == 1 ); assertTrue( acl.getAces().get( 0 ).getPermissions().contains( RepositoryFilePermission.ALL ) );
PentahoSystem.get( String.class, "singleTenantAdminAuthorityName", PentahoSessionHolder.getSession() ); RepositoryFileAce adminGroup = new RepositoryFileAce( new RepositoryFileSid( adminRoleName, RepositoryFileSid.Type.ROLE ), RepositoryFilePermission.ALL ); aclBuilder.ace( adminGroup );