## org.apache.catalina.authenticator
Class SingleSignOnEntry

    java.lang.Object
      org.apache.catalina.authenticator.SingleSignOnEntry

public class SingleSignOnEntry
extends java.lang.Object

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.

Version:
  $Revision: 1.5 $
Author:
  B Stansberry, based on work by Craig R. McClanahan
See Also:
  `SingleSignOn`, `AuthenticatorBase.reauthenticateFromSSO(java.lang.String, org.apache.catalina.HttpRequest)`

Field Summary
`protected java.lang.String` `authType`
`protected boolean` `canReauthenticate`
`protected java.lang.String` `password`
`protected java.security.Principal` `principal`
`protected Session[]` `sessions`
`protected java.lang.String` `username`

Constructor Summary
`SingleSignOnEntry()`
`SingleSignOnEntry(java.security.Principal principal, java.lang.String authType, java.lang.String username, java.lang.String password)` Creates a new SingleSignOnEntry

Method Summary
`void` `addSession(SingleSignOn sso, Session session)` Adds a `Session` to the list of those associated with this SSO.
`Session[]` `findSessions()` Returns the `Session`s associated with this SSO.
`java.lang.String` `getAuthType()` Gets the name of the authentication type originally used to authenticate the user associated with the SSO.
`boolean` `getCanReauthenticate()` Gets whether the authentication type associated with the original authentication supports reauthentication.
`java.lang.String` `getPassword()` Gets the password credential (if any) associated with the SSO.
`java.security.Principal` `getPrincipal()` Gets the `Principal` that has been authenticated by the SSO.
`java.lang.String` `getUsername()` Gets the username provided by the user as part of the authentication process.
`void` `removeSession(Session session)` Removes the given `Session` from the list of those associated with this SSO.
`void` `updateCredentials(java.security.Principal principal, java.lang.String authType, java.lang.String username, java.lang.String password)` Updates the SingleSignOnEntry to reflect the latest security information associated with the caller.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### authType

    protected java.lang.String authType

### password

    protected java.lang.String password

### principal

    protected java.security.Principal principal

### sessions

    protected Session[] sessions

### username

    protected java.lang.String username

### canReauthenticate

    protected boolean canReauthenticate

Constructor Detail

### SingleSignOnEntry

    public SingleSignOnEntry(java.security.Principal principal,
                             java.lang.String authType,
                             java.lang.String username,
                             java.lang.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

### SingleSignOnEntry

    public SingleSignOnEntry()

Method Detail

### addSession

    public void addSession(SingleSignOn sso,
                           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.
    `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 Session[] findSessions()

  Returns the `Session`s associated with this SSO.

### getAuthType

    public java.lang.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 java.lang.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 java.security.Principal getPrincipal()

  Gets the `Principal` that has been authenticated by the SSO.

### getUsername

    public java.lang.String getUsername()

  Gets the username provided by the user as part of the authentication process.

### updateCredentials

    public void updateCredentials(java.security.Principal principal,
                                  java.lang.String authType,
                                  java.lang.String username,
                                  java.lang.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

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