Apache Tomcat 7.0.26

org.apache.catalina.realm
Class GenericPrincipal

java.lang.Object
  extended by org.apache.catalina.realm.GenericPrincipal
All Implemented Interfaces:
java.security.Principal

public class GenericPrincipal
extends java.lang.Object
implements java.security.Principal

Generic implementation of java.security.Principal that is available for use by Realm implementations.

Version:
$Id: GenericPrincipal.java 1186071 2011-10-19 10:21:28Z markt $
Author:
Craig R. McClanahan

Field Summary
protected  org.ietf.jgss.GSSCredential gssCredential
          The user's delegated credentials.
protected  javax.security.auth.login.LoginContext loginContext
          The JAAS LoginContext, if any, used to authenticate this Principal.
protected  java.lang.String name
          The username of the user represented by this Principal.
protected  java.lang.String password
          The authentication credentials for the user represented by this Principal.
protected  java.lang.String[] roles
          The set of roles associated with this user.
protected  java.security.Principal userPrincipal
          The authenticated Principal to be exposed to applications.
 
Constructor Summary
GenericPrincipal(java.lang.String name, java.lang.String password)
          Construct a new Principal, associated with the specified Realm, for the specified username and password.
GenericPrincipal(java.lang.String name, java.lang.String password, java.util.List<java.lang.String> roles)
          Construct a new Principal, associated with the specified Realm, for the specified username and password, with the specified role names (as Strings).
GenericPrincipal(java.lang.String name, java.lang.String password, java.util.List<java.lang.String> roles, java.security.Principal userPrincipal)
          Construct a new Principal, associated with the specified Realm, for the specified username and password, with the specified role names (as Strings).
GenericPrincipal(java.lang.String name, java.lang.String password, java.util.List<java.lang.String> roles, java.security.Principal userPrincipal, javax.security.auth.login.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(java.lang.String name, java.lang.String password, java.util.List<java.lang.String> roles, java.security.Principal userPrincipal, javax.security.auth.login.LoginContext loginContext, org.ietf.jgss.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 Summary
 org.ietf.jgss.GSSCredential getGssCredential()
           
 java.lang.String getName()
           
 java.lang.String getPassword()
           
 java.lang.String[] getRoles()
           
 java.security.Principal getUserPrincipal()
           
 boolean hasRole(java.lang.String role)
          Does the user represented by this Principal possess the specified role?
 void logout()
          Calls logout, if necessary, on any associated JAASLoginContext.
protected  void setGssCredential(org.ietf.jgss.GSSCredential gssCredential)
           
 java.lang.String toString()
          Return a String representation of this object, which exposes only information that should be public.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.security.Principal
equals, hashCode
 

Field Detail

name

protected java.lang.String name
The username of the user represented by this Principal.


password

protected java.lang.String password
The authentication credentials for the user represented by this Principal.


roles

protected java.lang.String[] roles
The set of roles associated with this user.


userPrincipal

protected java.security.Principal userPrincipal
The authenticated Principal to be exposed to applications.


loginContext

protected javax.security.auth.login.LoginContext loginContext
The JAAS LoginContext, if any, used to authenticate this Principal. Kept so we can call logout().


gssCredential

protected org.ietf.jgss.GSSCredential gssCredential
The user's delegated credentials.

Constructor Detail

GenericPrincipal

public GenericPrincipal(java.lang.String name,
                        java.lang.String password)
Construct a new Principal, associated with the specified Realm, for the specified username and password.

Parameters:
name - The username of the user represented by this Principal
password - Credentials used to authenticate this user

GenericPrincipal

public GenericPrincipal(java.lang.String name,
                        java.lang.String password,
                        java.util.List<java.lang.String> roles)
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

GenericPrincipal

public GenericPrincipal(java.lang.String name,
                        java.lang.String password,
                        java.util.List<java.lang.String> roles,
                        java.security.Principal userPrincipal)
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

GenericPrincipal

public GenericPrincipal(java.lang.String name,
                        java.lang.String password,
                        java.util.List<java.lang.String> roles,
                        java.security.Principal userPrincipal,
                        javax.security.auth.login.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

GenericPrincipal

public GenericPrincipal(java.lang.String name,
                        java.lang.String password,
                        java.util.List<java.lang.String> roles,
                        java.security.Principal userPrincipal,
                        javax.security.auth.login.LoginContext loginContext,
                        org.ietf.jgss.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 Detail

getName

public java.lang.String getName()
Specified by:
getName in interface java.security.Principal

getPassword

public java.lang.String getPassword()

getRoles

public java.lang.String[] getRoles()

getUserPrincipal

public java.security.Principal getUserPrincipal()

getGssCredential

public org.ietf.jgss.GSSCredential getGssCredential()

setGssCredential

protected void setGssCredential(org.ietf.jgss.GSSCredential gssCredential)

hasRole

public boolean hasRole(java.lang.String role)
Does the user represented by this Principal possess the specified role?

Parameters:
role - Role to be tested

toString

public java.lang.String toString()
Return a String representation of this object, which exposes only information that should be public.

Specified by:
toString in interface java.security.Principal
Overrides:
toString in class java.lang.Object

logout

public void logout()
            throws java.lang.Exception
Calls logout, if necessary, on any associated JAASLoginContext. May in the future be extended to cover other logout requirements.

Throws:
java.lang.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

Apache Tomcat 7.0.26

Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.