public static Set<String> getOperationHeaderRoles(ModelNode operation) { Set<String> result = null; if (operation.hasDefined(ModelDescriptionConstants.OPERATION_HEADERS)) { ModelNode headers = operation.get(ModelDescriptionConstants.OPERATION_HEADERS); if (headers.hasDefined(ModelDescriptionConstants.ROLES)) { ModelNode rolesNode = headers.get(ModelDescriptionConstants.ROLES); if (rolesNode.getType() == ModelType.STRING) { rolesNode = parseRolesString(rolesNode.asString()); } if (rolesNode.getType() == ModelType.STRING) { result = Collections.singleton(getRoleFromText(rolesNode.asString())); } else { result = new HashSet<String>(); for (ModelNode role : rolesNode.asList()) { result.add(getRoleFromText(role.asString())); } } } } return result; }
private Set<String> mapRoles(Caller caller, Set<String> currentRoles, Set<String> runAsRoles, boolean sanitized) { Set<String> result = currentRoles; if (runAsRoles != null) { Set<String> roleSet = new HashSet<String>(); for (String role : runAsRoles) { String requestedRole = sanitized ? role : getRoleFromText(role); if (realRoleMapper.canRunAs(currentRoles, requestedRole)) { roleSet.add(requestedRole); } } if (roleSet.isEmpty() == false) { result = Collections.unmodifiableSet(roleSet); if (ACCESS_LOGGER.isTraceEnabled()) { StringBuilder sb = new StringBuilder("User '").append(caller.getName()).append( "' Mapped to requested roles { "); for (String current : result) { sb.append("'").append(current).append("' "); } sb.append("}"); ACCESS_LOGGER.trace(sb.toString()); } } } return result; }
private Set<String> mapRoles(Caller caller, Set<String> currentRoles, Set<String> runAsRoles, boolean sanitized) { Set<String> result = currentRoles; if (runAsRoles != null) { Set<String> roleSet = new HashSet<String>(); for (String role : runAsRoles) { String requestedRole = sanitized ? role : getRoleFromText(role); if (realRoleMapper.canRunAs(currentRoles, requestedRole)) { roleSet.add(requestedRole); } } if (roleSet.isEmpty() == false) { result = Collections.unmodifiableSet(roleSet); if (ACCESS_LOGGER.isTraceEnabled()) { StringBuilder sb = new StringBuilder("User '").append(caller.getName()).append( "' Mapped to requested roles { "); for (String current : result) { sb.append("'").append(current).append("' "); } sb.append("}"); ACCESS_LOGGER.trace(sb.toString()); } } } return result; }
public static Set<String> getOperationHeaderRoles(ModelNode operation) { Set<String> result = null; if (operation.hasDefined(ModelDescriptionConstants.OPERATION_HEADERS)) { ModelNode headers = operation.get(ModelDescriptionConstants.OPERATION_HEADERS); if (headers.hasDefined(ModelDescriptionConstants.ROLES)) { ModelNode rolesNode = headers.get(ModelDescriptionConstants.ROLES); if (rolesNode.getType() == ModelType.STRING) { rolesNode = parseRolesString(rolesNode.asString()); } if (rolesNode.getType() == ModelType.STRING) { result = Collections.singleton(getRoleFromText(rolesNode.asString())); } else { result = new HashSet<String>(); for (ModelNode role : rolesNode.asList()) { result.add(getRoleFromText(role.asString())); } } } } return result; }
private Set<String> mapRoles(Caller caller, Set<String> currentRoles, Set<String> runAsRoles, boolean sanitized) { Set<String> result = currentRoles; if (runAsRoles != null) { Set<String> roleSet = new HashSet<String>(); for (String role : runAsRoles) { String requestedRole = sanitized ? role : getRoleFromText(role); if (realRoleMapper.canRunAs(currentRoles, requestedRole)) { roleSet.add(requestedRole); } } if (roleSet.isEmpty() == false) { result = Collections.unmodifiableSet(roleSet); if (ACCESS_LOGGER.isTraceEnabled()) { StringBuilder sb = new StringBuilder("User '").append(caller.getName()).append( "' Mapped to requested roles { "); for (String current : result) { sb.append("'").append(current).append("' "); } sb.append("}"); ACCESS_LOGGER.trace(sb.toString()); } } } return result; }
public static Set<String> getOperationHeaderRoles(ModelNode operation) { Set<String> result = null; if (operation.hasDefined(ModelDescriptionConstants.OPERATION_HEADERS)) { ModelNode headers = operation.get(ModelDescriptionConstants.OPERATION_HEADERS); if (headers.hasDefined(ModelDescriptionConstants.ROLES)) { ModelNode rolesNode = headers.get(ModelDescriptionConstants.ROLES); if (rolesNode.getType() == ModelType.STRING) { rolesNode = parseRolesString(rolesNode.asString()); } if (rolesNode.getType() == ModelType.STRING) { result = Collections.singleton(getRoleFromText(rolesNode.asString())); } else { result = new HashSet<String>(); for (ModelNode role : rolesNode.asList()) { result.add(getRoleFromText(role.asString())); } } } } return result; }