Apache Tomcat 7.0.42

## org.apache.catalina.realm
Class GenericPrincipal

    java.lang.Object
      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 1361770 2012-07-15 19:38:51Z 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)` Deprecated. Unused
`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

    @Deprecated
    public GenericPrincipal(String name,
                                       String password)

  Deprecated. Unused

  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.42

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