protected User createUser(org.apache.catalina.User user, Iterator<org.apache.catalina.Role> groups) { if (user == null) { return null; } final Set<Group> _groups = new HashSet<Group>(); final Set<Role> _roles = new HashSet<Role>(); final Set<String> registeredRoles = SecurityManagementUtils.getRegisteredRoleNames(); if (groups != null && groups.hasNext()) { while (groups.hasNext()) { org.apache.catalina.Role group = groups.next(); String name = group.getRolename(); SecurityManagementUtils.populateGroupOrRoles(name, registeredRoles, _groups, _roles); } } return SecurityManagementUtils.createUser(user.getName(), _groups, _roles); }
protected Set[] getUserGroupsAndRoles(final RoleMappingResource roleMappingResource) { if (roleMappingResource != null) { List<RoleRepresentation> roles = roleMappingResource.realmLevel().listEffective(); if (roles != null && !roles.isEmpty()) { final Set<Group> _groups = new HashSet<Group>(); final Set<Role> _roles = new HashSet<Role>(); final Set<String> registeredRoles = SecurityManagementUtils.getRegisteredRoleNames(); for (RoleRepresentation roleRepresentation : roles) { if (roleRepresentation != null) { String name = roleRepresentation.getName(); SecurityManagementUtils.populateGroupOrRoles(name, registeredRoles, _groups, _roles); } } return new Set[]{_groups, _roles}; } } return null; }
protected Set[] getUserGroupsAndRoles(final RoleMappingResource roleMappingResource) { if (roleMappingResource != null) { List<RoleRepresentation> roles = roleMappingResource.realmLevel().listEffective(); if (roles != null && !roles.isEmpty()) { final Set<Group> _groups = new HashSet<Group>(); final Set<Role> _roles = new HashSet<Role>(); final Set<String> registeredRoles = SecurityManagementUtils.getRegisteredRoleNames(); for (RoleRepresentation roleRepresentation : roles) { if (roleRepresentation != null) { String name = roleRepresentation.getName(); SecurityManagementUtils.populateGroupOrRoles(name, registeredRoles, _groups, _roles); } } return new Set[]{_groups, _roles}; } } return null; }
public Set[] getGroupsAndRolesForUser( String username ) { if (groupsPropertiesFileLoader != null && username != null) { try { final String groupsStr = groupsPropertiesFileLoader.getProperties().getProperty( username ); final Set<String> groups = parseGroupIdentifiers( groupsStr ); final Set<String> registeredRoles = SecurityManagementUtils.getRegisteredRoleNames(); if (groups != null) { final Set<String> allGroups = getAllGroups(); if (allGroups != null) { final Set<Group> _groups = new HashSet<Group>(); final Set<Role> _roles = new HashSet<Role>(); for (final String name : groups) { if (!allGroups.contains( name )) { String error = "Error getting groups for user. User's group '" + name + "' does not exist."; LOG.error( error ); throw new SecurityManagementException( error ); } SecurityManagementUtils.populateGroupOrRoles( name, registeredRoles, _groups, _roles ); } return new Set[]{_groups, _roles}; } } } catch (IOException e) { LOG.error( "Error getting groups for user " + username, e ); throw new SecurityManagementException( e ); } } return null; }
throw new SecurityManagementException(error); SecurityManagementUtils.populateGroupOrRoles(name, registeredRoles, _groups,
throw new SecurityManagementException(error); SecurityManagementUtils.populateGroupOrRoles(name, registeredRoles, _groups,
@Test public void testPopulateGroupsOrRoles() { RoleRegistry.get().registerRole("role1"); Set<String> registeredRoles = SecurityManagementUtils.getRegisteredRoleNames(); Set<Group> groups = new HashSet<Group>(); Set<Role> roles = new HashSet<Role>(); SecurityManagementUtils.populateGroupOrRoles("group1", registeredRoles, groups, roles); assertTrue(groups.size() == 1); assertTrue(roles.isEmpty()); SecurityManagementUtils.populateGroupOrRoles("role1", registeredRoles, groups, roles); assertTrue(groups.size() == 1); assertTrue(roles.size() == 1); } }
@Test public void testPopulateGroupsOrRoles() { RoleRegistry.get().registerRole("role1"); Set<String> registeredRoles = SecurityManagementUtils.getRegisteredRoleNames(); Set<Group> groups = new HashSet<Group>(); Set<Role> roles = new HashSet<Role>(); SecurityManagementUtils.populateGroupOrRoles("group1", registeredRoles, groups, roles); assertTrue(groups.size() == 1); assertTrue(roles.isEmpty()); SecurityManagementUtils.populateGroupOrRoles("role1", registeredRoles, groups, roles); assertTrue(groups.size() == 1); assertTrue(roles.size() == 1); } }