See: Description
| Class | Description |
|---|---|
| DefaultPrincipalFactory |
Factory to create
SimplePrincipal objects. |
| NullPrincipal |
Null principal implementation that allows us to construct
Authentications in the event that no
principal is resolved during the authentication process. |
| PrincipalNameTransformerUtils |
This is
PrincipalNameTransformerUtils. |
| SimplePrincipal |
Simple implementation of a
Principal that exposes an unmodifiable
map of attributes. |
Credentials is a marker interface for an opaque object that may be recognized by Handlers and Resolvers. Credentials may be a UserId/Password, Certificate, RemoteUser, IP address, etc.
When the authentication manager is
used, that bean is configured with a list of AuthenticationHandler that
validate Credentials and PrincipalResolver that turn
Credential objects into
into Principal objects.
The Authentication Handler validates credentials and in certain cases is able extract information. The extraction use case is clearer when credentials are certificates. A certificate is valid if you trust the CA, if it hasn't expired, and if it isn't revoked. You can decide all this, and still not have the foggiest idea what ID to give to the person (if it is a person) represented by the Certificate.
The PrincipalResolver
looks into previously validated credentials to construct a Principal object containing an ID (and in more
complex cases some attributes). The ProxyingPrincipalResolver takes
credentials and creates a SimplePrincipal containing the Userid.