org.jasig.portal.services
Class Authentication

java.lang.Object
  extended by org.jasig.portal.services.Authentication

public class Authentication
extends java.lang.Object

Attempts to authenticate a user and retrieve attributes associated with the user.

Version:
$Revision: 1.55.2.1 $ Changes put in to allow credentials and principals to be defined and held by each context.
Author:
Ken Weiner, kweiner@unicon.net, Don Fracapane (df7@columbia.edu) Added properties in the security properties file that hold the tokens used to represent the principal and credential for each security context. This version differs in the way the principal and credentials are set (all contexts are set up front after evaluating the tokens). See setContextParameters() also.

Field Summary
private static java.lang.String BASE_CONTEXT_NAME
           
protected  ISecurityContext ic
           
private static org.apache.commons.logging.Log log
           
protected  IPerson m_Person
           
 
Constructor Summary
Authentication()
           
 
Method Summary
 void authenticate(java.util.HashMap principals, java.util.HashMap credentials, IPerson person)
          Attempts to authenticate a given IPerson based on a set of principals and credentials
private  void configureSecurityContextChain(java.util.HashMap principals, java.util.HashMap credentials, IPerson person, ISecurityContext securityContext, java.lang.String baseContextName)
          Recureses through the ISecurityContext chain, setting the credentials for each.
 IPerson getPerson()
          Returns an IPerson object that can be used to hold site-specific attributes about the logged on user.
 ISecurityContext getSecurityContext()
          Returns an ISecurityContext object that can be used later.
 void setContextParameters(java.util.HashMap principals, java.util.HashMap credentials, java.lang.String ctxName, ISecurityContext securityContext, IPerson person)
          Get the principal and credential for a specific context and store them in the context.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

private static final org.apache.commons.logging.Log log

BASE_CONTEXT_NAME

private static final java.lang.String BASE_CONTEXT_NAME
See Also:
Constant Field Values

m_Person

protected IPerson m_Person

ic

protected ISecurityContext ic
Constructor Detail

Authentication

public Authentication()
Method Detail

authenticate

public void authenticate(java.util.HashMap principals,
                         java.util.HashMap credentials,
                         IPerson person)
                  throws PortalSecurityException
Attempts to authenticate a given IPerson based on a set of principals and credentials

Parameters:
principals -
credentials -
person -
Throws:
PortalSecurityException

getPerson

public IPerson getPerson()
Returns an IPerson object that can be used to hold site-specific attributes about the logged on user. This information is established during authentication.

Returns:
An object that implements the org.jasig.portal.security.IPerson interface.

getSecurityContext

public ISecurityContext getSecurityContext()
Returns an ISecurityContext object that can be used later. This object is passed as part of the IChannel Interface. The security context may be used to gain authorized access to services.

Returns:
An object that implements the org.jasig.portal.security.ISecurityContext interface.

setContextParameters

public void setContextParameters(java.util.HashMap principals,
                                 java.util.HashMap credentials,
                                 java.lang.String ctxName,
                                 ISecurityContext securityContext,
                                 IPerson person)
Get the principal and credential for a specific context and store them in the context.

Parameters:
principals -
credentials -
ctxName -
securityContext -
person -

configureSecurityContextChain

private void configureSecurityContextChain(java.util.HashMap principals,
                                           java.util.HashMap credentials,
                                           IPerson person,
                                           ISecurityContext securityContext,
                                           java.lang.String baseContextName)
                                    throws PortalSecurityException
Recureses through the ISecurityContext chain, setting the credentials for each. TODO This functionality should be moved into the ChainingSecurityContext.

Parameters:
principals -
credentials -
person -
securityContext -
baseContextName -
Throws:
PortalSecurityException