The I2MI Grouper project is an open source toolkit for managing groups.
@see Grouper Wiki @version 1.1.0
While there are many public classes within the Grouper API the majority of its functionality can be found in a small subset of its classes. The most important classes to familiarize yourself with are:
As evident by its name, Grouper is all about managing groups. Groups are objects that may have attributes, memberships and privileges assigned to them.
Stems are namespaces within which groups are located. They make it possible to delegate authority within the Groups Registry.
This class is actually external to Grouper and is being developed by both the Grouper and Signet projects. It provides an IdM abstraction that allows an application to refer to entities of any type (people, groups, applications, etc.) without needing to be aware of how those entities are accessed or stored. See the Subject API page at the Grouper wiki for more information on the Subject API.
This is a class that abstracts finding subjects. With it you can query one-or-more subject repositories in order to retrieve subjects for use within other Grouper API operations.
Members are strictly mappings of subjects to persistent
identifiers for those subjects within Grouper. While many API
operations require that a Subject
be passed as a
parameter, internally Grouper works on those subjects
as Member
objects.
This class maps how all list values (memberships) are stored within the Groups Registry.
This class provides an operational and security context for
performing operations within the Grouper API. With the exception
of SubjectFinder
almost all other API
operations require a valid session context to operate within.
A subject is associated with each session and the privileges
of that subject determine what API operations can be performed
within the session context.
There is a small - but growing - selection of API usage examples.
This package has the major grouper javabeans (generally mapped to the DB via hibernate), along with "Finders" which are static methods to help query for the beans.