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
`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