/** * {@inheritDoc} */ @Override public boolean equals(Object userObject) { boolean result = false; if (userObject != null && userObject instanceof User) { User user = (User) userObject; if (user.getName().equals(getName()) && user.getPassword().equals(getPassword())) { result = user.getRoles().equals(getRoles()); } } return result; }
/** * Create user object. * @return Cargo user object. */ public org.codehaus.cargo.container.property.User createUser() { org.codehaus.cargo.container.property.User user = new org.codehaus.cargo.container.property.User(); user.setName(getName()); user.setPassword(getPassword()); for (RoleElement role : getRoles()) { user.addRole(role.getName()); } return user; } }
/** * {@inheritDoc} */ @Override public int hashCode() { return (getName() + getPassword()).hashCode(); }
/** * Create user object. * @return Cargo user object. */ public org.codehaus.cargo.container.property.User createUser() { org.codehaus.cargo.container.property.User user = new org.codehaus.cargo.container.property.User(); user.setName(getName()); user.setPassword(getPassword()); user.addRoles(Arrays.asList(getRoles())); return user; } }
if (usersString != null) List<User> users = User.parseUsers(usersString); Map<String, Set<String>> groupUsersMapping = new HashMap<String, Set<String>>(); usersToken.append(user.getName()); usersToken.append('='); usersToken.append(user.getPassword()); usersToken.append(System.getProperty("line.separator")); List<String> roles = user.getRoles(); for (int i = 0; i < roles.size(); i++) groupUsers.add(user.getName());
/** * @return an Ant filter token containing all the role-defined roles */ protected String getRoleToken() { StringBuilder token = new StringBuilder(" "); List<User> users = getUsers(); Map<String, List<User>> roles = User.createRoleMap(users); for (Map.Entry<String, List<User>> role : roles.entrySet()) { token.append("<security-role-mapping "); token.append("name=\"" + role.getKey() + "\">"); for (User user : role.getValue()) { token.append("<user name=\"" + user.getName() + "\"/>"); } token.append("</security-role-mapping>"); } return token.toString(); }
/** * Test role to users list map creation. */ public void testCreateRoleMap() { List<User> users = User.parseUsers("u1:p1:r1,r2|u2:p2:r2,r3"); Map<String, List<User>> roles = User.createRoleMap(users); assertNotNull(roles.get("r1")); assertNotNull(roles.get("r2")); assertNotNull(roles.get("r3")); assertEquals(1, roles.get("r1").size()); assertEquals("u1", roles.get("r1").get(0).getName()); assertEquals(2, roles.get("r2").size()); assertEquals("u1", roles.get("r2").get(0).getName()); assertEquals("u2", roles.get("r2").get(1).getName()); assertEquals(1, roles.get("r3").size()); assertEquals("u2", roles.get("r3").get(0).getName()); } }
/** * @param user User to be paired with groups. * @return Pair user with groups WLST script. */ public Collection<ScriptCommand> addUserToGroupsScript(User user) { Collection<ScriptCommand> script = new ArrayList<ScriptCommand>(); for (String role : user.getRoles()) { script.add(new AddUserToGroupScriptCommand(configuration, RESOURCE_PATH, user, role)); } return script; } }
@Override protected void addConfigurationScriptProperties(Map<String, String> propertiesMap) { propertiesMap.put("cargo.websphere.user.name", user.getName()); propertiesMap.put("cargo.websphere.group", groupRole); } }
/** * Parse properties and add any users to pending configuration. Users will be retrieved from * their property: {@link ServletPropertySet#USERS} */ protected void addUsersFromProperties() { getLogger().debug("Searching properties for User definition", this.getClass().getName()); String usersProperty = getPropertyValue(ServletPropertySet.USERS); if (usersProperty != null) { getLogger().debug("Found User definition: value [" + usersProperty + "]", this.getClass().getName()); List<User> usersFromProp = User.parseUsers(usersProperty); getUsers().addAll(usersFromProp); } }
@Override protected void addConfigurationScriptProperties(Map<String, String> propertiesMap) { propertiesMap.put("cargo.websphere.user.name", user.getName()); propertiesMap.put("cargo.websphere.user.password", user.getPassword()); } }
if (usersString != null) List<User> users = User.parseUsers(usersString); Map<String, Set<String>> groupUsersMapping = new HashMap<String, Set<String>>(); usersToken.append(user.getName()); usersToken.append('='); usersToken.append(user.getPassword()); usersToken.append(System.getProperty("line.separator")); List<String> roles = user.getRoles(); for (int i = 0; i < roles.size(); i++) groupUsers.add(user.getName());
/** * Create application roles file (application-roles.properties). */ private void createApplicationRolesProperties() { // Add token filters for authenticated users if (!getUsers().isEmpty()) { StringBuilder rolesToken = new StringBuilder( "# JBoss application-roles.properties file generated by CARGO\n"); for (User user : getUsers()) { rolesToken.append(user.getName()); rolesToken.append("="); for (String role : user.getRoles()) { rolesToken.append(role); rolesToken.append(","); } rolesToken.append('\n'); } getFileHandler().writeTextFile( getFileHandler().append( getHome(), "/configuration/application-roles.properties"), rolesToken.toString(), "UTF-8"); } } }
/** * @return an Ant filter token containing all the role-defined roles */ protected String getRoleToken() { StringBuilder token = new StringBuilder(" "); List<User> users = getUsers(); Map<String, List<User>> roles = User.createRoleMap(users); for (Map.Entry<String, List<User>> role : roles.entrySet()) { token.append("<security-role-mapping "); token.append("name=\"" + role.getKey() + "\">"); for (User user : role.getValue()) { token.append("<user name=\"" + user.getName() + "\"/>"); } token.append("</security-role-mapping>"); } return token.toString(); }
/** * @param user User to be paired with groups. * @return Pair user with groups WLST script. */ public Collection<ScriptCommand> addUserToGroupsScript(User user) { Collection<ScriptCommand> script = new ArrayList<ScriptCommand>(); for (String role : user.getRoles()) { script.add(new AddUserToGroupScriptCommand(configuration, RESOURCE_PATH, user, role)); } return script; } }
@Override protected void addConfigurationScriptProperties(Map<String, String> propertiesMap) { propertiesMap.put("cargo.weblogic.user.name", user.getName()); propertiesMap.put("cargo.weblogic.group", groupRole); LocalConfiguration configuration = (LocalConfiguration) getConfiguration(); String domainName = configuration.getFileHandler().getName(configuration.getHome()); propertiesMap.put("cargo.weblogic.domain.name", domainName); } }
User user = new User(); user.setName(userName); if (":".equals(password)) user.setPassword(""); user.setPassword(password); if (!":".equals(roles)) user.addRoles(parseRoles(roles));
List<User> users = User.parseUsers("someone:p@ssw0rd:cargo"); getLocalContainer().getConfiguration().getUsers().addAll(users);
/** * Create realm (user, password and role) file. * @param users Users for which to create the file. * @param etcDir The <code>etc</code> directory of the configuration. * @param fileHandler File handler for writing the file. */ public static void createRealmFile(List<User> users, String etcDir, FileHandler fileHandler) { StringBuilder sb = new StringBuilder(); for (User user : users) { sb.append(user.getName()); sb.append(": "); sb.append(user.getPassword().replace("\\", "\\\\")); for (String role : user.getRoles()) { sb.append(","); sb.append(role); } sb.append("\n"); } fileHandler.writeTextFile( fileHandler.append(etcDir, "cargo-realm.properties"), sb.toString(), "UTF-8"); }