/** * Get the Principal given the authenticated Subject. Currently the first principal that is not of type {@code Group} is * considered or the single principal inside the CallerPrincipal group. * * @param subject * @return the authenticated principal */ private Principal getPrincipal(Subject subject) { Principal principal = null; Principal callerPrincipal = null; if (subject != null) { Set<Principal> principals = subject.getPrincipals(); if (principals != null && !principals.isEmpty()) { for (Principal p : principals) { if (!(p instanceof Group) && principal == null) { principal = p; } if (p instanceof Group) { Group g = Group.class.cast(p); if (g.getName().equals(SecurityConstants.CALLER_PRINCIPAL_GROUP) && callerPrincipal == null) { Enumeration<? extends Principal> e = g.members(); if (e.hasMoreElements()) callerPrincipal = e.nextElement(); } } } } } return callerPrincipal == null ? principal : callerPrincipal; }
/** * Get the Principal given the authenticated Subject. Currently the first principal that is not of type {@code Group} is * considered or the single principal inside the CallerPrincipal group. * * @param subject * @return the authenticated principal */ private Principal getPrincipal(Subject subject) { Principal principal = null; Principal callerPrincipal = null; if (subject != null) { Set<Principal> principals = subject.getPrincipals(); if (principals != null && !principals.isEmpty()) { for (Principal p : principals) { if (!(p instanceof Group) && principal == null) { principal = p; } if (p instanceof Group) { Group g = Group.class.cast(p); if (g.getName().equals("CallerPrincipal") && callerPrincipal == null) { Enumeration<? extends Principal> e = g.members(); if (e.hasMoreElements()) callerPrincipal = e.nextElement(); } } } } } return callerPrincipal == null ? principal : callerPrincipal; }
if (applyRoleMappers && SecurityConstants.ROLES_IDENTIFIER.equals(group.getName()) && domainContext.getMappingManager() != null) { MappingContext<RoleGroup> mappingContext = domainContext.getMappingManager().getMappingContext(MappingType.ROLE.name()); if (mappingContext != null && mappingContext.hasModules()) {
private void updateSubjectRoles(final org.jboss.security.SecurityContext jbossSct){ if (jbossSct == null) { throw UndertowLogger.ROOT_LOGGER.nullParamter("org.jboss.security.SecurityContext"); } RoleGroup contextRoleGroup = jbossSct.getUtil().getRoles(); if(contextRoleGroup == null){ return; } Collection<Role> contextRoles = contextRoleGroup.getRoles(); if(contextRoles.isEmpty()){ return; } Subject subject = jbossSct.getUtil().getSubject(); Set<Group> groupPrincipals = subject.getPrincipals(Group.class); Group subjectRoleGroup = null; for (Group candidate : groupPrincipals) { if (candidate.getName().equals(ROLES_IDENTIFIER)) { subjectRoleGroup = candidate; break; } } if (subjectRoleGroup == null) { subjectRoleGroup = new SimpleGroup(ROLES_IDENTIFIER); subject.getPrincipals().add(subjectRoleGroup); } for (Role role : contextRoles) { Principal rolePrincipal = new SimplePrincipal(role.getRoleName()); subjectRoleGroup.addMember(rolePrincipal); } }
@Override public String getName() { return group.getName(); }
GroupPrincipalWrapper(@NotNull Group group) { super(group.getName()); this.group = group; }
/** * Compares this principal to the specified object. Returns true if the object passed in matches the principal represented by the implementation of this interface. * @param another principal to compare with. * @return true if the principal passed in is the same as that encapsulated by this principal, and false otherwise. */ public boolean equals(Object another) { if (!(another instanceof Group)) { return false; } // else return name.equals(((Group) another).getName()); }
@Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (!Group.class.isAssignableFrom(obj.getClass())) return false; Group other = (Group) obj; return this.name.equals(other.getName()); } public String toString()
@Override public Boolean apply(Principal obj) { if (this == obj) return Boolean.TRUE; if (obj == null) return Boolean.FALSE; if (!Group.class.isAssignableFrom(obj.getClass())) return Boolean.FALSE; Group other = (Group) obj; return Boolean.valueOf(this.name.equals(other.getName())); }
protected Role getRoleGroup(final Subject subject) { Role roleGroup = null; for (Group group : subject.getPrincipals(Group.class)) { if ("Roles".equals(group.getName())) { roleGroup = new SimpleRoleGroup(group); break; } } return roleGroup; } }
@Override public String apply(Group input) { return Text.escape(input.getName()); } }));
protected boolean checkGroup(Group group, String role) { if (group.getName().equals(role)) { return true; } for (Enumeration<? extends Principal> members = group.members(); members.hasMoreElements();) { // this might be a plain role but could represent a group consisting of other groups/roles Principal member = members.nextElement(); if (member.getName().equals(role) || member instanceof Group && checkGroup((Group)member, role)) { return true; } } return false; }
protected boolean checkGroup(Group group, String role) { if (group.getName().equals(role)) { return true; } for (Enumeration<? extends Principal> members = group.members(); members.hasMoreElements();) { // this might be a plain role but could represent a group consisting of other groups/roles Principal member = members.nextElement(); if (member.getName().equals(role) || member instanceof Group && checkGroup((Group)member, role)) { return true; } } return false; }
protected boolean checkGroup(Group group, String role) { if (group.getName().equals(role)) { return true; } for (Enumeration<? extends Principal> members = group.members(); members.hasMoreElements(); ) { // this might be a plain role but could represent a group consisting of other groups/roles Principal member = members.nextElement(); if (member.getName().equals(role) || member instanceof Group && checkGroup((Group) member, role)) { return true; } } return false; } }
private void appendRoles( Group group ) { if( ! group.getName().equals( SecurityConstants.ROLES_IDENTIFIER ) ) return; if(additionalRoles != null && !additionalRoles.isEmpty()) { StringTokenizer st = new StringTokenizer( additionalRoles , "," ); while(st.hasMoreTokens()) { group.addMember( new SimplePrincipal( st.nextToken().trim() ) ); } } } private void safeClose(InputStream fis)
public SimpleRoleGroup(Group rolesGroup) { super(rolesGroup.getName()); Enumeration<? extends Principal> principals = rolesGroup.members(); while (principals.hasMoreElements()) { SimpleRole role = new SimpleRole(principals.nextElement().getName()); addRole(role); } }
public SimpleRoleGroup(Group rolesGroup) { super(rolesGroup.getName()); Enumeration<? extends Principal> principals = rolesGroup.members(); while (principals.hasMoreElements()) { SimpleRole role = new SimpleRole(principals.nextElement().getName()); addRole(role); } }
private RoleGroup getRoleGroup(Group roleGroup) { if(roleGroup == null) throw new IllegalArgumentException("roleGroup is null"); SimpleRoleGroup srg = new SimpleRoleGroup(roleGroup.getName()); Enumeration<? extends Principal> principals = roleGroup.members(); while(principals.hasMoreElements()) { srg.getRoles().add(new SimpleRole(principals.nextElement().getName())); } return srg; }
public void addCustomGroups(UserInfo userInfo, Set<Principal> principals) { if (userInfo == null || principals == null) { LOG.error("Userinfo or Principals null"); return; } List<Group> unknownGroups = getUnknownGroups(principals); for (Group prince : unknownGroups) { Principal other = prince.members().nextElement(); userInfo.setClaim(prince.getName(), other.toString()); //json prince } }
private RoleGroup getRoleGroup(Group roleGroup) { if(roleGroup == null) throw PicketBoxMessages.MESSAGES.invalidNullArgument("roleGroup"); SimpleRoleGroup srg = new SimpleRoleGroup(roleGroup.getName()); Enumeration<? extends Principal> principals = roleGroup.members(); while(principals.hasMoreElements()) { srg.addRole(new SimpleRole(principals.nextElement().getName())); } return srg; }