/** * remove the role corresponding to the role using the resource passed in for resolving the * ${resource} expression */ public void removeTemplatedRole( String templateId, String resource ) throws RoleManagerException { ModelTemplate template = RoleModelUtils.getModelTemplate( blessedModel, templateId ); String roleName = template.getNamePrefix() + template.getDelimiter() + resource; try { Role role = rbacManager.getRole( roleName ); for ( UserAssignment assignment : rbacManager.getUserAssignmentsForRoles( Arrays.asList( role.getName() ) ) ) { assignment.removeRoleName( role ); rbacManager.saveUserAssignment( assignment ); } } catch ( RbacManagerException e ) { throw new RoleManagerException( "unable to remove role", e ); } templateProcessor.remove( blessedModel, templateId, resource ); }
public void unassignRoleByName( String roleName, String principal ) throws RoleManagerException { try { UserAssignment userAssignment; if ( rbacManager.userAssignmentExists( principal ) ) { userAssignment = rbacManager.getUserAssignment( principal ); } else { throw new RoleManagerException( "UserAssignment for principal " + principal + "does not exist, can't unassign role." ); } if ( !rbacManager.roleExists( roleName ) ) { throw new RoleManagerException( "Unable to unassign role: " + roleName + " does not exist." ); } userAssignment.removeRoleName( roleName ); rbacManager.saveUserAssignment( userAssignment ); } catch ( RbacManagerException e ) { throw new RoleManagerException( "Unable to unassign role: unable to manage user assignment", e ); } }
public void unassignRole( 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 { throw new RoleManagerException( "UserAssignment for principal " + principal + "does not exist, can't unassign role." ); } userAssignment.removeRoleName( modelRole.getName() ); rbacManager.saveUserAssignment( userAssignment ); } catch ( RbacManagerException e ) { throw new RoleManagerException( "Unable to unassign role: unable to manage user assignment", e ); } }
Arrays.asList( role.getName() ) ) ) assignment.removeRoleName( oldRoleName ); assignment.addRoleName( newRoleName ); rbacManager.saveUserAssignment( assignment );
assignment.removeRoleName( role.getName() ); assignment = rbacManager.saveUserAssignment( assignment ); log.info( "{} role unassigned to {}", role.getName(), username );