Apache Tomcat 7.0.28

org.apache.catalina.realm
Class GenericPrincipal

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

public class GenericPrincipal
extends Object
implements 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  GSSCredential gssCredential
          The user's delegated credentials.
protected  LoginContext loginContext
          The JAAS LoginContext, if any, used to authenticate this Principal.
protected  String name
          The username of the user represented by this Principal.
protected  String password
          The authentication credentials for the user represented by this Principal.
protected  String[] roles
          The set of roles associated with this user.
protected  Principal userPrincipal
          The authenticated Principal to be exposed to applications.
 
Constructor Summary
GenericPrincipal(String name, String password)
          Construct a new Principal, associated with the specified Realm, for the specified username and password.
GenericPrincipal(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).
GenericPrincipal(String name, String password, List<String> roles, 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(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 Summary
 GSSCredential getGssCredential()
           
 String getName()
           
 String getPassword()
           
 String[] getRoles()
           
 Principal getUserPrincipal()
           
 boolean hasRole(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(GSSCredential gssCredential)
           
 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 String name
The username of the user represented by this Principal.


password

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


roles

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


userPrincipal

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


loginContext

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


gssCredential

protected GSSCredential gssCredential
The user's delegated credentials.

Constructor Detail

GenericPrincipal

public GenericPrincipal(String name,
                        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(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).

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(String name,
                        String password,
                        List<String> roles,
                        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(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

GenericPrincipal

public 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 Detail

getName

public String getName()
Specified by:
getName in interface Principal

getPassword

public String getPassword()

getRoles

public String[] getRoles()

getUserPrincipal

public Principal getUserPrincipal()

getGssCredential

public GSSCredential getGssCredential()

setGssCredential

protected void setGssCredential(GSSCredential gssCredential)

hasRole

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

Parameters:
role - Role to be tested

toString

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

Specified by:
toString in interface Principal
Overrides:
toString in class Object

logout

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

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

Apache Tomcat 7.0.28

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