Interface GroupManager

All Known Implementing Classes:
JdbcUserDetailsManager

public interface GroupManager
Allows management of groups of authorities and their members.

Typically this will be used to supplement the functionality of a UserDetailsManager in situations where the organization of application granted authorities into groups is preferred over a straight mapping of users to roles.

With this scenario, users are allocated to groups and take on the list of authorities which are assigned to the group, providing more flexible administration options.

  • Method Details

    • findAllGroups

      List<String> findAllGroups()
      Returns the names of all groups that this group manager controls.
    • findUsersInGroup

      List<String> findUsersInGroup(String groupName)
      Locates the users who are members of a group
      Parameters:
      groupName - the group whose members are required
      Returns:
      the usernames of the group members
    • createGroup

      void createGroup(String groupName, List<GrantedAuthority> authorities)
      Creates a new group with the specified list of authorities.
      Parameters:
      groupName - the name for the new group
      authorities - the authorities which are to be allocated to this group.
    • deleteGroup

      void deleteGroup(String groupName)
      Removes a group, including all members and authorities.
      Parameters:
      groupName - the group to remove.
    • renameGroup

      void renameGroup(String oldName, String newName)
      Changes the name of a group without altering the assigned authorities or members.
    • addUserToGroup

      void addUserToGroup(String username, String group)
      Makes a user a member of a particular group.
      Parameters:
      username - the user to be given membership.
      group - the name of the group to which the user will be added.
    • removeUserFromGroup

      void removeUserFromGroup(String username, String groupName)
      Deletes a user's membership of a group.
      Parameters:
      username - the user
      groupName - the group to remove them from
    • findGroupAuthorities

      List<GrantedAuthority> findGroupAuthorities(String groupName)
      Obtains the list of authorities which are assigned to a group.
    • addGroupAuthority

      void addGroupAuthority(String groupName, GrantedAuthority authority)
      Assigns a new authority to a group.
    • removeGroupAuthority

      void removeGroupAuthority(String groupName, GrantedAuthority authority)
      Deletes an authority from those assigned to a group