public List<Permission> getAllPermissions() throws RbacManagerException { return this.rbacImpl.getAllPermissions(); }
public List<Permission> getAllPermissions() throws RbacManagerException { log.debug( "NOT CACHED - .getAllPermissions()" ); return this.rbacImpl.getAllPermissions(); }
@Override public List<Permission> getAllPermissions() throws RbacManagerException { Map<String, Permission> allPermissions = new HashMap<>(); boolean allFailed = true; Exception lastException = null; for ( RBACManager rbacManager : rbacManagersPerId.values() ) { try { List<? extends Permission> permissions = rbacManager.getAllPermissions(); for ( Permission p : permissions ) { allPermissions.put( p.getName(), p ); } allFailed = false; } catch ( Exception e ) { lastException = e; } } if ( lastException != null && allFailed ) { throw new RbacManagerException( lastException.getMessage(), lastException ); } return new ArrayList<>( allPermissions.values() ); }
@Override public List<Permission> getAllPermissions() throws RbacManagerException { Map<String, Permission> allPermissions = new HashMap<>(); boolean allFailed = true; Exception lastException = null; for ( RBACManager rbacManager : rbacManagersPerId.values() ) { try { List<Permission> permissions = rbacManager.getAllPermissions(); for ( Permission p : permissions ) { allPermissions.put( p.getName(), p ); } allFailed = false; } catch ( Exception e ) { lastException = e; } } if ( lastException != null && allFailed ) { throw new RbacManagerException( lastException.getMessage(), lastException ); } return new ArrayList<>( allPermissions.values() ); }
@Test public void testLargeApplicationInit() throws RbacManagerException { assertNotNull( rbacManager ); rbacManager.eraseDatabase(); rbacDefaults.createDefaults(); assertEquals( 6, rbacManager.getAllPermissions().size() ); assertEquals( 11, rbacManager.getAllOperations().size() ); assertEquals( 4, rbacManager.getAllRoles().size() ); }
@Test public void testAddGetPermission() throws RbacManagerException { assertNotNull( rbacManager ); rbacManager.eraseDatabase(); eventTracker.rbacInit( true ); Role adminRole = rbacManager.saveRole( getAdminRole() ); rbacManager.saveRole( getDeveloperRole() ); assertEquals( 2, rbacManager.getAllRoles().size() ); assertEquals( 2, rbacManager.getAllPermissions().size() ); Permission createUserPerm = rbacManager.createPermission( "CREATE_USER", "CREATE", "User" ); // perm shouldn't exist in manager (yet) assertEquals( 2, rbacManager.getAllPermissions().size() ); adminRole.addPermission( createUserPerm ); rbacManager.saveRole( adminRole ); // perm should exist in manager now. assertEquals( 3, rbacManager.getAllPermissions().size() ); Permission fetched = rbacManager.getPermission( "CREATE_USER" ); assertNotNull( fetched ); /* Assert some event tracker stuff */ assertEventTracker( 2, 0, 3, 0, true, true ); }
@Test public void testAllowRoleWithoutPermissions() throws RbacManagerException { assertNotNull( rbacManager ); rbacManager.eraseDatabase(); eventTracker.rbacInit( true ); String rolename = "Test Role"; Role testRole = rbacManager.createRole( rolename ); testRole = rbacManager.saveRole( testRole ); assertNotNull( testRole ); assertEquals( 1, rbacManager.getAllRoles().size() ); assertEquals( 0, rbacManager.getAllPermissions().size() ); Role actualRole = rbacManager.getRole( rolename ); assertEquals( testRole.getName(), actualRole.getName() ); assertEquals( testRole.getChildRoleNames(), actualRole.getChildRoleNames() ); assertEquals( 1, rbacManager.getAllRoles().size() ); assertEquals( 0, rbacManager.getAllPermissions().size() ); /* Assert some event tracker stuff */ assertEventTracker( 1, 0, 0, 0, true, true ); }
assertEquals( 2, rbacManager.getAllPermissions().size() ); assertEquals( 2, rbacManager.getAllPermissions().size() ); assertEquals( 3, rbacManager.getAllPermissions().size() ); Permission fetched = rbacManager.getPermission( "CREATE_USER" ); assertNotNull( fetched );
@Test public void testGlobalResource() throws RbacManagerException { RBACManager manager = rbacManager; rbacManager.eraseDatabase(); eventTracker.rbacInit( true ); Permission editConfiguration = manager.createPermission( "Edit Configuration" ); editConfiguration.setOperation( manager.createOperation( "edit-configuration" ) ); editConfiguration.setResource( manager.getGlobalResource() ); manager.savePermission( editConfiguration ); assertEquals( 1, manager.getAllPermissions().size() ); assertEquals( 1, manager.getAllOperations().size() ); assertEquals( 1, manager.getAllResources().size() ); Permission deleteConfiguration = manager.createPermission( "Delete Configuration" ); deleteConfiguration.setOperation( manager.createOperation( "delete-configuration" ) ); deleteConfiguration.setResource( manager.getGlobalResource() ); manager.savePermission( deleteConfiguration ); assertEquals( 2, manager.getAllPermissions().size() ); assertEquals( 2, manager.getAllOperations().size() ); assertEquals( 1, manager.getAllResources().size() ); /* Assert some event tracker stuff */ assertEventTracker( 0, 0, 2, 0, true, true ); }
@Test public void testGetRolesDeep() throws RbacManagerException { rbacManager.eraseDatabase(); rbacDefaults.createDefaults(); // Setup User / Assignment with 1 role. String username = "bob"; UserAssignment assignment = rbacManager.createUserAssignment( username ); assignment.addRoleName( "Developer" ); rbacManager.saveUserAssignment( assignment ); assertEquals( incAssignements( 1 ), rbacManager.getAllUserAssignments().size() ); assertEquals( 4, rbacManager.getAllRoles().size() ); assertEquals( 6, rbacManager.getAllPermissions().size() ); // Get the List of Assigned Roles for user bob. Role devel = rbacManager.getRole( "Developer" ); assertNotNull( devel ); // First Depth. Role trusted = getChildRole( rbacManager, devel, "Trusted Developer", 1 ); // Second Depth. Role sysAdmin = getChildRole( rbacManager, trusted, "System Administrator", 1 ); // Third Depth. getChildRole( rbacManager, sysAdmin, "User Administrator", 1 ); }
assertEquals( 2, rbacManager.getAllPermissions().size() ); assertEquals( 2, rbacManager.getAllPermissions().size() ); assertEquals( 1, rbacManager.getAllOperations().size() );
@Test public void testGetAssignedPermissionsDeep() throws RbacManagerException { this.clearCache(); assertNotNull( rbacManager ); rbacManager.eraseDatabase(); rbacDefaults.createDefaults(); // Setup User / Assignment with 1 role. String username = "bob"; UserAssignment assignment = rbacManager.createUserAssignment( username ); assignment.addRoleName( "Developer" ); rbacManager.saveUserAssignment( assignment ); assertEquals( incAssignements( 1 ), rbacManager.getAllUserAssignments().size() ); List<Permission> permissions = rbacManager.getAllPermissions(); Assertions.assertThat( permissions ).isNotNull().isNotEmpty().hasSize( 6 ); List<Role> roles = rbacManager.getAllRoles(); Assertions.assertThat( roles ).isNotNull().isNotEmpty().hasSize( 4 ); afterSetup(); // Get the List of Assigned Roles for user bob. Collection<Permission> assignedPermissions = rbacManager.getAssignedPermissions( username ); assertNotNull( assignedPermissions ); assertEquals( 6, assignedPermissions.size() ); }
@Test public void testGetAssignedPermissions() throws RbacManagerException { RBACManager manager = rbacManager; rbacManager.eraseDatabase(); // Setup 3 roles. manager.saveRole( getAdminRole() ); manager.saveRole( getProjectAdminRole() ); Role added = manager.saveRole( getDeveloperRole() ); String roleName = added.getName(); assertThat( manager.getAllRoles() ).isNotNull().isNotEmpty().hasSize( 3 ); assertThat( manager.getAllPermissions() ).isNotNull().isNotEmpty().hasSize( 3 ); // Setup User / Assignment with 1 role. String username = "bob"; UserAssignment assignment = manager.createUserAssignment( username ); assignment.addRoleName( roleName ); manager.saveUserAssignment( assignment ); assertThat( manager.getAllUserAssignments() ).isNotNull().isNotEmpty().hasSize( incAssignements( 1 ) ); assertThat( manager.getAllRoles() ).isNotNull().isNotEmpty().hasSize( 3 ); assertThat( manager.getAllPermissions() ).isNotNull().isNotEmpty().hasSize( 3 ); // Get the List of Assigned Roles for user bob. Collection<Permission> assignedPermissions = manager.getAssignedPermissions( username ); assertThat( assignedPermissions ).isNotNull().isNotEmpty().hasSize( 1 ); }
public void backupRBACDatabase( RBACManager manager, File backupDirectory ) throws RbacManagerException, IOException, XMLStreamException { RbacDatabase database = new RbacDatabase(); database.setRoles( manager.getAllRoles() ); database.setUserAssignments( manager.getAllUserAssignments() ); database.setPermissions( manager.getAllPermissions() ); database.setOperations( manager.getAllOperations() ); database.setResources( manager.getAllResources() ); RbacJdoModelStaxWriter writer = new RbacJdoModelStaxWriter(); Writer fileWriter = createWriter( backupDirectory, RBAC_XML_NAME, database.getModelEncoding() ); try { writer.write( fileWriter, database ); } finally { IOUtils.closeQuietly( fileWriter ); } }