protected Group createGroup(String name) { if (name != null) { final Group group = SecurityManagementUtils.createGroup(name); return group; } return null; }
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); }
@Override public void assignGroups(String username, Collection<String> groups) throws SecurityManagementException { Set<String> userRoles = SecurityManagementUtils.rolesToString(SecurityManagementUtils.getRoles(userSystemManager, username)); userRoles.addAll(groups); doAssignGroups(username, userRoles); }
@Override public void assignRoles(String username, Collection<String> roles) throws SecurityManagementException { Set<String> userGroups = SecurityManagementUtils.groupsToString(SecurityManagementUtils.getGroups(userSystemManager, username)); userGroups.addAll(roles); doAssignGroups(username, userGroups); }
/** * Utility method that check if the given group or role name is in the list of registeredRoles, if it is, * it adds the Role for the given name in the given roles set argument, otherwise, into the list. * This method it's just a shortcut to avoid code duplipcation on several points. */ public static void populateGroupOrRoles(final String name, final Set<String> registeredRoles, final Set<Group> groups, final Set<Role> roles) { if (registeredRoles.contains(name)) { // Is a role. Role r = createRole(name); if (null != r) { roles.add(r); } } else { // Is a group. Group g = createGroup(name); if (null != g) { groups.add(g); } } }
final String role1Id = "r1"; final String role2Id = "r2"; final Group group1 = SecurityManagementUtils.createGroup(group1Id); final Group group2 = SecurityManagementUtils.createGroup(group2Id); final Set<Group> groups = new HashSet<Group>(2); groups.add(group1); groups.add(group2); final Role role1 = SecurityManagementUtils.createRole(role1Id); final Role role2 = SecurityManagementUtils.createRole(role2Id); final Set<Role> roles = new HashSet<Role>(2); roles.add(role1); roles.add(role2); final User user = SecurityManagementUtils.createUser(testId, groups, roles);
final String role1Id = "r1"; final String role2Id = "r2"; final Group group1 = SecurityManagementUtils.createGroup(group1Id); final Group group2 = SecurityManagementUtils.createGroup(group2Id); final Set<Group> groups = new HashSet<Group>(2); groups.add(group1); groups.add(group2); final Role role1 = SecurityManagementUtils.createRole(role1Id); final Role role2 = SecurityManagementUtils.createRole(role2Id); final Set<Role> roles = new HashSet<Role>(2); roles.add(role1); props.put("p2", "value2"); final User user = SecurityManagementUtils.createUser(testId, groups, roles, props); final User cloned = SecurityManagementUtils.clone(user); assertNotNull(cloned); final String id = cloned.getIdentifier();
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; }
@Test public void testCreateUserWithGroups() { final String testId = "id1"; final String group1Id = "g1"; final String group2Id = "g2"; final Group group1 = SecurityManagementUtils.createGroup(group1Id); final Group group2 = SecurityManagementUtils.createGroup(group2Id); final Set<Group> groups = new HashSet<Group>(2); groups.add(group1); groups.add(group2); final User user = SecurityManagementUtils.createUser(testId, groups); assertNotNull(user); final String id = user.getIdentifier(); assertEquals(id, testId); final Set<Group> resultGroups = user.getGroups(); assertNotNull(resultGroups); assertTrue(resultGroups.size() == 2); assertEquals(resultGroups, groups); }
public static User createUser(final String id, final Set<Group> groups, final Set<Role> roles) { return createUser(id, groups, roles, null); }
protected boolean isConstrained(final String name) { return SecurityManagementUtils.getRegisteredRoleNames().contains(name); } }
public static Set<String> getRegisteredRoleNames() { Set<Role> registered = RoleRegistry.get().getRegisteredRoles(); Set<String> result = new HashSet<String>(registered.size() + 1); result.addAll(rolesToString(registered)); return result; }
protected Role createRole(String name) { return SecurityManagementUtils.createRole(name); }
@Test public void testGroupsToString() { Set<Group> roles = new HashSet<Group>(2); Group role1 = mock(Group.class); when(role1.getName()).thenReturn("group1"); Group role2 = mock(Group.class); when(role2.getName()).thenReturn("group2"); roles.add(role1); roles.add(role2); final Set<String> rolesStr = SecurityManagementUtils.groupsToString(roles); assertNotNull(rolesStr); assertTrue(rolesStr.size() == 2); assertTrue(rolesStr.contains("group1")); assertTrue(rolesStr.contains("group2")); }
final String role1Id = "r1"; final String role2Id = "r2"; final Group group1 = SecurityManagementUtils.createGroup(group1Id); final Group group2 = SecurityManagementUtils.createGroup(group2Id); final Set<Group> groups = new HashSet<Group>(2); groups.add(group1); groups.add(group2); final Role role1 = SecurityManagementUtils.createRole(role1Id); final Role role2 = SecurityManagementUtils.createRole(role2Id); final Set<Role> roles = new HashSet<Role>(2); roles.add(role1); roles.add(role2); final User user = SecurityManagementUtils.createUser(testId, groups, roles);
final String role1Id = "r1"; final String role2Id = "r2"; final Group group1 = SecurityManagementUtils.createGroup(group1Id); final Group group2 = SecurityManagementUtils.createGroup(group2Id); final Set<Group> groups = new HashSet<Group>(2); groups.add(group1); groups.add(group2); final Role role1 = SecurityManagementUtils.createRole(role1Id); final Role role2 = SecurityManagementUtils.createRole(role2Id); final Set<Role> roles = new HashSet<Role>(2); roles.add(role1); props.put("p2", "value2"); final User user = SecurityManagementUtils.createUser(testId, groups, roles, props); final User cloned = SecurityManagementUtils.clone(user); assertNotNull(cloned); final String id = cloned.getIdentifier();
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; }
@Test public void testCreateUserWithGroups() { final String testId = "id1"; final String group1Id = "g1"; final String group2Id = "g2"; final Group group1 = SecurityManagementUtils.createGroup(group1Id); final Group group2 = SecurityManagementUtils.createGroup(group2Id); final Set<Group> groups = new HashSet<Group>(2); groups.add(group1); groups.add(group2); final User user = SecurityManagementUtils.createUser(testId, groups); assertNotNull(user); final String id = user.getIdentifier(); assertEquals(id, testId); final Set<Group> resultGroups = user.getGroups(); assertNotNull(resultGroups); assertTrue(resultGroups.size() == 2); assertEquals(resultGroups, groups); }
@Override public void assignRoles(String username, Collection<String> roles) throws SecurityManagementException { checkNotNull("username", username); final Set<String> userGroups = SecurityManagementUtils.groupsToString(SecurityManagementUtils.getGroups(userSystemManager, username)); userGroups.addAll(roles); assignGroupsOrRoles(username, userGroups); }
@Override protected User createEntity(String identifier) { return SecurityManagementUtils.createUser(identifier); } }