This package provides support for managing users and their authentication.


Interface Summary
GroupSet Represents a set of groups.
MessageDigester Utility class that encapsulates a message digest method.
NameValidator Validator of names.
UserAccessor Interface for accessing the currently logged in user.
UserAdministration Interface for user administration.
UserSet Represents a set of users.

Class Summary
AbstractUserSet User set base class.
Group Represents a group.
InMemoryGroupSet In-memory group set implementation.
InMemoryUserSet In-memory user set.
JaasUserAccessor Implementation of the user accessor that retrieves user information from JAAS.
Md5HexMessageDigester MD5 Hex encoder.
RegexpNameValidator Validation of names based on a regular expression.
User Represents a user.
UserAdminInitializer User administration initializer.
UserAdministrationImpl Administration of users and groups.

Enum Summary
UserMgtException.Reason Possible causes for the exception.

Exception Summary
UserMgtException User management exception.

Package Description

This package provides support for managing users and their authentication.

Supported use cases

in particular, it supports the following use cases: An overview is given below:
The user of the package interacts with the UserAdministration interface for the following tasks: In addition, it provides methods for authenticating the user. Note however that it is also possible to use declarative Java EE security using the appropriate security realm. See for instance, flexible JDBC realm for a Glassfish based solution. UserAdminInitializer can be used to automatically initialize the user administration with initial users and groups when there are no users defined yet. To use the user administration interface, several implementation classes must be wired together. This is explained below. There is one implementation UserAdministrationImpl of this interface that must be constructed with a UserSet and GroupSet implementation, together with two validators: one for user names and another for group names. For user and groups sets there are two implementations, one inmemory and another with database persistence. Typically the one with database persistence is used but for testing other code, the inmemory implementation can be used.

At construction of the userset, a password validator is required as well as a digest algorithm to compute a digest of the password to store in the database and also to validate users against.

Finally, there is the basic model for users and groups that is used under the covers. As a user of the security library these objects will typically not be used.

Copyright © 2021. All Rights Reserved.