public Map<IPermissionRecipient, IPermissionMask> getEffectivePermissions( Object domainInstance ) { IAclHolder aclHolder = (IAclHolder) domainInstance; List<IPentahoAclEntry> aclList = aclHolder.getEffectiveAccessControls(); return transformEntries( aclList ); }
@Override public Void call() throws Exception { RepositoryFile testFile = new RepositoryFile( "Test Folder", null, null ); //$NON-NLS-1$ Map<IPermissionRecipient, IPermissionMask> perms = new LinkedHashMap<IPermissionRecipient, IPermissionMask>(); perms.put( new SimpleUser( "suzy" ), new SimplePermissionMask( IPentahoAclEntry.PERM_NOTHING ) ); perms.put( new SimpleRole( "ROLE_POWER_USER" ), new SimplePermissionMask( IPentahoAclEntry.PERM_FULL_CONTROL ) ); SpringSecurityPermissionMgr.instance().getPermissions( testFile ); // Now, the stage is set. We should be able to double-check that suzy // has no access to the testFile. PentahoUserOverridesVoter voter = new PentahoUserOverridesVoter(); assertNotNull( voter ); assertFalse( voter.hasAccess( PentahoSessionHolder.getSession(), testFile, IPentahoAclEntry.PERM_EXECUTE ) ); return null; }
@Override public Void call() throws Exception { RepositoryFile testFile = new RepositoryFile( "Test Folder", null, null ); //$NON-NLS-1$ Map<IPermissionRecipient, IPermissionMask> perms = new LinkedHashMap<IPermissionRecipient, IPermissionMask>(); perms.put( new SimpleUser( "suzy" ), new SimplePermissionMask( IPentahoAclEntry.PERM_EXECUTE ) ); perms.put( new SimpleRole( "ROLE_POWER_USER" ), new SimplePermissionMask( IPentahoAclEntry.PERM_SUBSCRIBE ) ); SpringSecurityPermissionMgr.instance().setPermissions( perms, testFile ); PentahoBasicAclVoter voter = new PentahoBasicAclVoterForTesting( new MockAuthentication( "suzy", Arrays.asList( new GrantedAuthority[] { new SimpleGrantedAuthority( "ROLE_AUTHENTICATED" ), new SimpleGrantedAuthority( "ROLE_POWER_USER" ) } ) ) ); assertTrue( voter.hasAccess( PentahoSessionHolder.getSession(), testFile, IPentahoAclEntry.PERM_EXECUTE ) ); assertTrue( voter.hasAccess( PentahoSessionHolder.getSession(), testFile, IPentahoAclEntry.PERM_SUBSCRIBE ) ); assertFalse( voter.hasAccess( PentahoSessionHolder.getSession(), testFile, IPentahoAclEntry.PERM_ADMINISTRATION ) ); PentahoAclEntry entry = voter.getEffectiveAcl( PentahoSessionHolder.getSession(), testFile ); assertNotNull( entry ); assertEquals( entry.printPermissionsBlock(), "XS----" ); //$NON-NLS-1$ return null; }
public Map<IPermissionRecipient, IPermissionMask> getPermissions( final Object domainInstance ) { IAclHolder aclHolder = (IAclHolder) domainInstance; List<IPentahoAclEntry> aclList = aclHolder.getAccessControls(); return transformEntries( aclList ); }