/** * Finds the set of groups where a given user is a member. Note that * inheritable ancestors groups are also returned. * * @param user * The member user. * @return The set of groups. */ public Set<Group> findGroups(User user) { return findGroups(user, true); }
public void enrole(ClientInfo clientInfo) { User user = findUser(clientInfo.getUser().getIdentifier()); if (user != null) { // Find all the inherited groups of this user Set<Group> userGroups = findGroups(user); // Add roles specific to this user Set<Role> userRoles = findRoles(user); for (Role role : userRoles) { clientInfo.getRoles().add(role); } // Add roles common to group members Set<Role> groupRoles = findRoles(userGroups); for (Role role : groupRoles) { clientInfo.getRoles().add(role); } } } }