org.apache.catalina.authenticator

Class 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(String,HttpRequest)

Field Summary

protected String
authType
protected boolean
canReauthenticate
protected String
password
protected Principal
principal
protected Session[]
sessions
protected String
username

Constructor Summary

SingleSignOnEntry()
SingleSignOnEntry(Principal principal, String authType, String username, 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 Sessions associated with this SSO.
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.
String
getPassword()
Gets the password credential (if any) associated with the SSO.
Principal
getPrincipal()
Gets the Principal that has been authenticated by the SSO.
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(Principal principal, String authType, String username, String password)
Updates the SingleSignOnEntry to reflect the latest security information associated with the caller.

Field Details

authType

protected String authType


canReauthenticate

protected boolean canReauthenticate


password

protected String password


principal

protected Principal principal


sessions

protected Session[] sessions


username

protected String username

Constructor Details

SingleSignOnEntry

public SingleSignOnEntry()


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,
                       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.


findSessions

public Session[] findSessions()
Returns the Sessions associated with this SSO.


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.


getUsername

public String getUsername()
Gets the username provided by the user as part of the authentication process.


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.


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


Copyright B) 2000-2003 Apache Software Foundation. All Rights Reserved.