Package org.apache.catalina.realm
Class GenericPrincipal
java.lang.Object
org.apache.catalina.realm.GenericPrincipal
- All Implemented Interfaces:
- Serializable,- Principal,- TomcatPrincipal
- Direct Known Subclasses:
- UserDatabaseRealm.UserDatabasePrincipal
Generic implementation of java.security.Principal that is available for use by 
Realm
 implementations.- Author:
- Craig R. McClanahan
- See Also:
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected GSSCredentialThe user's delegated credentials.protected final LoginContextThe JAAS LoginContext, if any, used to authenticate this Principal.protected final StringThe username of the user represented by this Principal.protected final StringThe authentication credentials for the user represented by this Principal.protected final String[]The set of roles associated with this user.protected final PrincipalThe authenticated Principal to be exposed to applications.
- 
Constructor SummaryConstructorsConstructorDescriptionGenericPrincipal(String name, String password, List<String> roles) Construct a new Principal, associated with the specified Realm, for the specified username and password, with the specified role names (as Strings).Construct a new Principal, associated with the specified Realm, for the specified username and password, with the specified role names (as Strings).GenericPrincipal(String name, String password, List<String> roles, Principal userPrincipal, LoginContext loginContext) Construct a new Principal, associated with the specified Realm, for the specified username and password, with the specified role names (as Strings).GenericPrincipal(String name, String password, List<String> roles, Principal userPrincipal, LoginContext loginContext, GSSCredential gssCredential) Construct a new Principal, associated with the specified Realm, for the specified username and password, with the specified role names (as Strings).
- 
Method SummaryModifier and TypeMethodDescriptiongetName()String[]getRoles()booleanDoes the user represented by this Principal possess the specified role?voidlogout()Calls logout, if necessary, on any associated JAASLoginContext.protected voidsetGssCredential(GSSCredential gssCredential) toString()Return a String representation of this object, which exposes only information that should be public.
- 
Field Details- 
nameThe username of the user represented by this Principal.
- 
passwordThe authentication credentials for the user represented by this Principal.
- 
rolesThe set of roles associated with this user.
- 
userPrincipalThe authenticated Principal to be exposed to applications.
- 
loginContextThe JAAS LoginContext, if any, used to authenticate this Principal. Kept so we can call logout().
- 
gssCredentialThe user's delegated credentials.
 
- 
- 
Constructor Details- 
GenericPrincipalConstruct a new Principal, associated with the specified Realm, for the specified username and password, with the specified role names (as Strings).- Parameters:
- name- The username of the user represented by this Principal
- password- Credentials used to authenticate this user
- roles- List of roles (must be Strings) possessed by this user
 
- 
GenericPrincipalConstruct a new Principal, associated with the specified Realm, for the specified username and password, with the specified role names (as Strings).- Parameters:
- name- The username of the user represented by this Principal
- password- Credentials used to authenticate this user
- roles- List of roles (must be Strings) possessed by this user
- userPrincipal- - the principal to be returned from the request getUserPrincipal call if not null; if null, this will be returned
 
- 
GenericPrincipalpublic GenericPrincipal(String name, String password, List<String> roles, Principal userPrincipal, LoginContext loginContext) Construct a new Principal, associated with the specified Realm, for the specified username and password, with the specified role names (as Strings).- Parameters:
- name- The username of the user represented by this Principal
- password- Credentials used to authenticate this user
- roles- List of roles (must be Strings) possessed by this user
- userPrincipal- - the principal to be returned from the request getUserPrincipal call if not null; if null, this will be returned
- loginContext- - If provided, this will be used to log out the user at the appropriate time
 
- 
GenericPrincipalpublic GenericPrincipal(String name, String password, List<String> roles, Principal userPrincipal, LoginContext loginContext, GSSCredential gssCredential) Construct a new Principal, associated with the specified Realm, for the specified username and password, with the specified role names (as Strings).- Parameters:
- name- The username of the user represented by this Principal
- password- Credentials used to authenticate this user
- roles- List of roles (must be Strings) possessed by this user
- userPrincipal- - the principal to be returned from the request getUserPrincipal call if not null; if null, this will be returned
- loginContext- - If provided, this will be used to log out the user at the appropriate time
- gssCredential- - If provided, the user's delegated credentials
 
 
- 
- 
Method Details- 
getName
- 
getPassword
- 
getRoles
- 
getUserPrincipal- Specified by:
- getUserPrincipalin interface- TomcatPrincipal
- Returns:
- The authenticated Principal to be exposed to applications.
 
- 
getGssCredential- Specified by:
- getGssCredentialin interface- TomcatPrincipal
- Returns:
- The user's delegated credentials.
 
- 
setGssCredential
- 
hasRoleDoes the user represented by this Principal possess the specified role?- Parameters:
- role- Role to be tested
- Returns:
- trueif this Principal has been assigned the given role, otherwise- false
 
- 
toStringReturn a String representation of this object, which exposes only information that should be public.
- 
logoutDescription copied from interface:TomcatPrincipalCalls logout, if necessary, on any associated JAASLoginContext. May in the future be extended to cover other logout requirements.- Specified by:
- logoutin interface- TomcatPrincipal
- Throws:
- Exception- If something goes wrong with the logout. Uses Exception to allow for future expansion of this method to cover other logout mechanisms that might throw a different exception to LoginContext
 
 
-