Package org.apache.catalina

# Interface TomcatPrincipal

All Superinterfaces:
  `Principal`

All Known Implementing Classes:
  `GenericPrincipal`, `UserDatabaseRealm.UserDatabasePrincipal`

public interface TomcatPrincipal extends Principal
Defines additional methods implemented by `Principal`s created by Tomcat's standard `Realm` implementations.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `GSSCredential`
  `getGssCredential()`
  `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 Details

  - ### getUserPrincipal

    Principal getUserPrincipal()
    Returns:
      The authenticated Principal to be exposed to applications.

  - ### getGssCredential

    GSSCredential getGssCredential()
    Returns:
      The user's delegated credentials.

  - ### logout

    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