GenericPrincipal (Apache Tomcat 7.0.96 API Documentation)

org.apache.catalina.realm

## Class GenericPrincipal

- java.lang.Object
- - 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.
  Author:
    Craig R. McClanahan

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `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

    Constructors
    Constructor and Description
    `GenericPrincipal(java.lang.String name, java.lang.String password)` Deprecated. Unused
    `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

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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

          @Deprecated
          public GenericPrincipal(java.lang.String name,
                                     java.lang.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(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

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