Class SingleSignOnEntry

java.lang.Object
org.apache.catalina.authenticator.SingleSignOnEntry
All Implemented Interfaces:
Serializable

public class SingleSignOnEntry extends Object implements Serializable
A class that represents entries in the cache of authenticated users. This is necessary to make it available to AuthenticatorBase subclasses that need it in order to perform reauthentications when SingleSignOn is in use.
Author:
B Stansberry, based on work by Craig R. McClanahan
See Also:
  • Constructor Details

    • SingleSignOnEntry

      public SingleSignOnEntry(Principal principal, String authType, String username, String password)
      Creates a new SingleSignOnEntry
      Parameters:
      principal - the Principal returned by the latest call to Realm.authenticate.
      authType - the type of authenticator used (BASIC, CLIENT_CERT, DIGEST or FORM)
      username - the username (if any) used for the authentication
      password - the password (if any) used for the authentication
  • Method Details

    • addSession

      public void addSession(SingleSignOn sso, String ssoId, Session session)
      Adds a Session to the list of those associated with this SSO.
      Parameters:
      sso - The SingleSignOn valve that is managing the SSO session.
      ssoId - The ID of the SSO session.
      session - The Session being associated with the SSO.
    • removeSession

      public void removeSession(Session session)
      Removes the given Session from the list of those associated with this SSO.
      Parameters:
      session - the Session to remove.
    • findSessions

      public Set<SingleSignOnSessionKey> findSessions()
      Returns the HTTP Session identifiers associated with this SSO.
      Returns:
      The identifiers for the HTTP sessions that are current associated with this SSo entry
    • getAuthType

      public String getAuthType()
      Gets the name of the authentication type originally used to authenticate the user associated with the SSO.
      Returns:
      "BASIC", "CLIENT_CERT", "DIGEST", "FORM" or "NONE"
    • getCanReauthenticate

      public boolean getCanReauthenticate()
      Gets whether the authentication type associated with the original authentication supports reauthentication.
      Returns:
      true if getAuthType returns "BASIC" or "FORM", false otherwise.
    • getPassword

      public String getPassword()
      Gets the password credential (if any) associated with the SSO.
      Returns:
      the password credential associated with the SSO, or null if the original authentication type does not involve a password.
    • getPrincipal

      public Principal getPrincipal()
      Gets the Principal that has been authenticated by the SSO.
      Returns:
      The Principal that was created by the authentication that triggered the creation of the SSO entry
    • getUsername

      public String getUsername()
      Gets the user name provided by the user as part of the authentication process.
      Returns:
      The user name that was authenticated as part of the authentication that triggered the creation of the SSO entry
    • updateCredentials

      public void updateCredentials(Principal principal, String authType, String username, String password)
      Updates the SingleSignOnEntry to reflect the latest security information associated with the caller.
      Parameters:
      principal - the Principal returned by the latest call to Realm.authenticate.
      authType - the type of authenticator used (BASIC, CLIENT_CERT, DIGEST or FORM)
      username - the username (if any) used for the authentication
      password - the password (if any) used for the authentication