Package org.apache.catalina

## Interface TomcatPrincipal

- All Superinterfaces:
    `java.security.Principal`
  All Known Implementing Classes:
    `GenericPrincipal`, `UserDatabaseRealm.UserDatabasePrincipal`

      public interface TomcatPrincipal
      extends java.security.Principal

  Defines additional methods implemented by `Principal`s created by Tomcat's standard `Realm` implementations.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `org.ietf.jgss.GSSCredential` | `getGssCredential()` |
    `java.security.Principal` | `getUserPrincipal()` |
    `void` | `logout()` | Calls logout, if necessary, on any associated JAASLoginContext.

    - ### Methods inherited from interface java.security.Principal

      `equals, getName, hashCode, implies, toString`

- - ### Method Detail

    - #### getUserPrincipal

          java.security.Principal getUserPrincipal()

      Returns:
        The authenticated Principal to be exposed to applications.

    - #### getGssCredential

          org.ietf.jgss.GSSCredential getGssCredential()

      Returns:
        The user's delegated credentials.

    - #### logout

          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