userAssignment.addRoleName( roleName );
userAssignment.addRoleName( roleName );
ua.addRoleName( roleName );
ua.addRoleName( roleName );
@Test public void testUserAssignmentMultipleRoles() throws RbacManagerException { RBACManager manager = rbacManager; rbacManager.eraseDatabase(); eventTracker.rbacInit( true ); Role devRole = getDeveloperRole(); manager.saveRole( devRole ); // Setup User / Assignment with 1 role. String username = "bob"; UserAssignment assignment = manager.createUserAssignment( username ); assignment.addRoleName( devRole ); assignment = manager.saveUserAssignment( assignment ); assertEquals( incAssignements( 1 ), manager.getAllUserAssignments().size() ); assertEquals( 1, manager.getAllRoles().size() ); // assign the same role again to the same user assignment.addRoleName( devRole.getName() ); manager.saveUserAssignment( assignment ); // we certainly shouldn't have 2 roles here now assertEquals( 1, assignment.getRoleNames().size() ); /* Assert some event tracker stuff */ assertEventTracker( 1, 0, 1, 0, true, true ); }
ua.addRoleName( ArchivaRoleConstants.toRepositoryObserverRoleName( repoId ) ); rbacManager.saveUserAssignment( ua );
ua.addRoleName( ArchivaRoleConstants.toRepositoryObserverRoleName( repoId ) ); rbacManager.saveUserAssignment( ua );
@Test public void testGetAssignedPermissionsNoChildRoles() throws RbacManagerException { RBACManager manager = rbacManager; rbacManager.eraseDatabase(); eventTracker.rbacInit( true ); Role admin = getAdminRole(); admin = manager.saveRole( admin ); assertEquals( 1, manager.getAllRoles().size() ); String adminPrincipal = "admin"; UserAssignment ua = manager.createUserAssignment( adminPrincipal ); ua.addRoleName( admin ); manager.saveUserAssignment( ua ); assertEquals( 1, manager.getAllUserAssignments().size() ); Set<Permission> assignedPermissions = manager.getAssignedPermissions( adminPrincipal ); assertThat( assignedPermissions ).isNotNull().isNotEmpty().hasSize( 1 ); /* Assert some event tracker stuff */ assertEventTracker( 1, 0, 1, 0, true, true ); }
assignment.addRoleName( devRole ); assignment = manager.saveUserAssignment( assignment ); assignment.addRoleName( devRole.getName() ); manager.saveUserAssignment( assignment );
@Test public void testGetAssignedRoles() throws RbacManagerException { RBACManager manager = rbacManager; rbacManager.eraseDatabase(); Role adminRole = manager.saveRole( getAdminRole() ); Role projectAdminRole = manager.saveRole( getProjectAdminRole() ); Role developerRole = manager.saveRole( getDeveloperRole() ); // Setup 3 roles. assertEquals( 3, manager.getAllRoles().size() ); // Setup User / Assignment with 3 roles. String username = "bob"; UserAssignment assignment = manager.createUserAssignment( username ); assignment.addRoleName( developerRole.getName() ); assignment.addRoleName( projectAdminRole.getName() ); assignment.addRoleName( adminRole.getName() ); assignment = manager.saveUserAssignment( assignment ); assertThat( assignment.getRoleNames() ).isNotNull().isNotEmpty().hasSize( 3 ); assertThat( manager.getAllUserAssignments() ).isNotNull().isNotEmpty().hasSize( incAssignements( 1 ) ); assertThat( manager.getAllRoles() ).isNotNull().isNotEmpty().hasSize( 3 ); afterSetup(); // Get the List of Assigned Roles for user bob. Collection<Role> assignedRoles = manager.getAssignedRoles( username ); assertThat( assignedRoles ).isNotNull().isNotEmpty().hasSize( 3 ); }
@Test public void testUserAssignmentWithChildRoles() throws RbacManagerException { RBACManager manager = rbacManager; rbacManager.eraseDatabase(); Role developerRole = manager.saveRole( getDeveloperRole() ); Role adminRole = getAdminRole(); adminRole.addChildRoleName( developerRole.getName() ); adminRole = manager.saveRole( adminRole ); // don't use admin as ldap group need at least one member String adminPrincipal = "theadmin"; UserAssignment assignment = manager.createUserAssignment( adminPrincipal ); assignment.addRoleName( adminRole ); assignment = manager.saveUserAssignment( assignment ); assertEquals( 1, assignment.getRoleNames().size() ); assertEquals( 1, manager.getAssignedRoles( adminPrincipal ).size() ); }
public void assignRoleByName( String roleName, String principal ) throws RoleManagerException { try { UserAssignment userAssignment; if ( rbacManager.userAssignmentExists( principal ) ) { userAssignment = rbacManager.getUserAssignment( principal ); } else { userAssignment = rbacManager.createUserAssignment( principal ); } if ( !rbacManager.roleExists( roleName ) ) { throw new RoleManagerException( "Unable to assign role: " + roleName + " does not exist." ); } userAssignment.addRoleName( roleName ); rbacManager.saveUserAssignment( userAssignment ); } catch ( RbacManagerException e ) { throw new RoleManagerException( "Unable to assign role: unable to manage user assignment", e ); } }
@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 ); }
@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 testUserAssignmentAddRole() throws RbacManagerException { RBACManager manager = rbacManager; rbacManager.eraseDatabase(); eventTracker.rbacInit( true ); Role adminRole = manager.saveRole( getAdminRole() ); assertEquals( 1, manager.getAllRoles().size() ); String adminPrincipal = "admin"; UserAssignment assignment = manager.createUserAssignment( adminPrincipal ); assignment.addRoleName( adminRole ); manager.saveUserAssignment( assignment ); assertEquals( 1, manager.getAllUserAssignments().size() ); assertEquals( 1, manager.getAllRoles().size() ); UserAssignment ua = manager.getUserAssignment( adminPrincipal ); assertNotNull( ua ); Role fetched = manager.getRole( "ADMIN" ); assertNotNull( fetched ); /* Assert some event tracker stuff */ assertEventTracker( 1, 0, 1, 0, true, true ); }
assignment.addRoleName( developerRole ); manager.saveUserAssignment( assignment ); bob.addRoleName( projectAdminRoleName ); bob = manager.saveUserAssignment( bob );
public void assignRole( String roleId, String principal ) throws RoleManagerException { ModelRole modelRole = RoleModelUtils.getModelRole( blessedModel, roleId ); if ( modelRole == null ) { throw new RoleManagerException( "Unable to assign role: " + roleId + " does not exist." ); } try { UserAssignment userAssignment; if ( rbacManager.userAssignmentExists( principal ) ) { userAssignment = rbacManager.getUserAssignment( principal ); } else { userAssignment = rbacManager.createUserAssignment( principal ); } userAssignment.addRoleName( modelRole.getName() ); rbacManager.saveUserAssignment( userAssignment ); } catch ( RbacManagerException e ) { throw new RoleManagerException( "Unable to assign role: unable to manage user assignment", e ); } }
@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 ); }
assignment.addRoleName( newRoleName ); rbacManager.saveUserAssignment( assignment );
userAssignment.addRoleName( modelTemplate.getNamePrefix() + modelTemplate.getDelimiter() + resource ); rbacManager.saveUserAssignment( userAssignment );