/** * returns the active roles for a given principal * * NOTE: roles that are returned might have have roles themselves, if * you just want all permissions then use {@link #getAssignedPermissions(String principal)} * * @param principal * @return * @throws RbacObjectNotFoundException * @throws RbacManagerException */ public Collection<Role> getAssignedRoles( String principal ) throws RbacObjectNotFoundException, RbacManagerException { UserAssignment ua = getUserAssignment( principal ); return getAssignedRoles( ua ); }
/** * @param principal * @return * @throws RbacManagerException * @throws RbacObjectNotFoundException */ public Collection<Role> getUnassignedRoles( String principal ) throws RbacManagerException, RbacObjectNotFoundException { Collection<Role> assignedRoles = getAssignedRoles( principal ); List<Role> allRoles = getAllAssignableRoles(); log.debug( "UR: assigned {}", assignedRoles.size() ); log.debug( "UR: available {}", allRoles.size() ); return CollectionUtils.subtract( allRoles, assignedRoles ); }