org.apache.jetspeed.sso.impl
Class PersistenceBrokerSSOProvider

java.lang.Object
  extended byorg.springframework.orm.ojb.support.PersistenceBrokerDaoSupport
      extended byorg.apache.jetspeed.components.dao.InitablePersistenceBrokerDaoSupport
          extended byorg.apache.jetspeed.sso.impl.PersistenceBrokerSSOProvider
All Implemented Interfaces:
org.apache.jetspeed.sso.SSOProvider

public class PersistenceBrokerSSOProvider
extends org.apache.jetspeed.components.dao.InitablePersistenceBrokerDaoSupport
implements org.apache.jetspeed.sso.SSOProvider

Utility component to handle SSO requests

Author:
Roger Ruttimann

Field Summary
private  String GROUP_PATH
           
private  Hashtable mapSite
           
private  String USER_PATH
           
 
Fields inherited from class org.apache.jetspeed.components.dao.InitablePersistenceBrokerDaoSupport
repositoryPath
 
Fields inherited from class org.springframework.orm.ojb.support.PersistenceBrokerDaoSupport
logger
 
Constructor Summary
PersistenceBrokerSSOProvider(String repositoryPath)
          PersitenceBrokerSSOProvider()
 
Method Summary
 void addCredentialsForSite(String fullPath, String remoteUser, String site, String pwd)
          addCredentialsForSite()
 void addCredentialsForSite(Subject subject, String remoteUser, String site, String pwd)
           
 void addSite(String siteName, String siteUrl)
           
private  org.apache.jetspeed.security.om.InternalUserPrincipal findRemoteMatch(Collection remoteForPrincipals, Collection remoteForSite)
           
private  org.apache.jetspeed.sso.SSOContext getCredential(org.apache.jetspeed.sso.SSOSite ssoSite, String fullPath)
           
 org.apache.jetspeed.sso.SSOContext getCredentials(Subject subject, String site)
           
private  org.apache.jetspeed.security.om.InternalGroupPrincipal getGroupPrincipals(String principalFullPath)
           
private  org.apache.jetspeed.sso.SSOPrincipal getPrincipalForSite(org.apache.jetspeed.sso.SSOSite ssoSite, String fullPath)
           
 List getPrincipalsForSite(org.apache.jetspeed.sso.SSOSite site)
           
private  Collection getRemotePrincipalsForPrincipal(Collection principalsForSite, String fullPath)
           
private  Collection getRemotePrincipalsForPrincipal(org.apache.jetspeed.sso.SSOSite ssoSite, String fullPath)
           
 org.apache.jetspeed.sso.SSOSite getSite(String siteUrl)
           
 String getSiteName(String site)
          getSiteName
 Iterator getSites(String filter)
           
 String getSiteURL(String site)
          Retrive site information getSiteURL
private  org.apache.jetspeed.sso.SSOPrincipal getSSOPrincipal(String fullPath)
           
private  org.apache.jetspeed.sso.SSOSite getSSOSiteObject(String site)
           
 boolean hasSSOCredentials(Subject subject, String site)
           
 void removeCredentialsForSite(String fullPath, String site)
          removeCredentialsForSite()
 void removeCredentialsForSite(Subject subject, String site)
           
private  org.apache.jetspeed.security.om.InternalUserPrincipal removeRemotePrincipalForPrincipal(org.apache.jetspeed.sso.SSOSite site, String fullPath)
          removeRemotePrincipalForPrincipal
 void removeSite(org.apache.jetspeed.sso.SSOSite site)
           
private  String stripPortalPrincipalName(String fullPath)
           
private  String stripPrincipalName(String fullPath)
           
 void updateCredentialsForSite(Subject subject, String remoteUser, String site, String pwd)
          updateCredentialsForSite
 void updateSite(org.apache.jetspeed.sso.SSOSite site)
           
 
Methods inherited from class org.apache.jetspeed.components.dao.InitablePersistenceBrokerDaoSupport
init
 
Methods inherited from class org.springframework.orm.ojb.support.PersistenceBrokerDaoSupport
afterPropertiesSet, closePersistenceBrokerIfNecessary, convertOjbAccessException, createPersistenceBrokerTemplate, getJcdAlias, getPersistenceBroker, getPersistenceBrokerTemplate, initDao, setJcdAlias, setPersistenceBrokerTemplate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.jetspeed.sso.SSOProvider
init
 

Field Detail

mapSite

private Hashtable mapSite

USER_PATH

private String USER_PATH

GROUP_PATH

private String GROUP_PATH
Constructor Detail

PersistenceBrokerSSOProvider

public PersistenceBrokerSSOProvider(String repositoryPath)
                             throws ClassNotFoundException
PersitenceBrokerSSOProvider()

Throws:
ClassNotFoundException - if the prefsFactoryImpl argument does not reperesent a Class that exists in the current classPath.
Method Detail

getSites

public Iterator getSites(String filter)
Specified by:
getSites in interface org.apache.jetspeed.sso.SSOProvider

addCredentialsForSite

public void addCredentialsForSite(String fullPath,
                                  String remoteUser,
                                  String site,
                                  String pwd)
                           throws org.apache.jetspeed.sso.SSOException
addCredentialsForSite()

Specified by:
addCredentialsForSite in interface org.apache.jetspeed.sso.SSOProvider
Parameters:
fullPath -
remoteUser -
site -
pwd -
Throws:
org.apache.jetspeed.sso.SSOException

removeCredentialsForSite

public void removeCredentialsForSite(String fullPath,
                                     String site)
                              throws org.apache.jetspeed.sso.SSOException
removeCredentialsForSite()

Specified by:
removeCredentialsForSite in interface org.apache.jetspeed.sso.SSOProvider
Parameters:
fullPath -
site -
Throws:
org.apache.jetspeed.sso.SSOException

getSiteURL

public String getSiteURL(String site)
Retrive site information getSiteURL

Specified by:
getSiteURL in interface org.apache.jetspeed.sso.SSOProvider

getSiteName

public String getSiteName(String site)
getSiteName

Specified by:
getSiteName in interface org.apache.jetspeed.sso.SSOProvider

hasSSOCredentials

public boolean hasSSOCredentials(Subject subject,
                                 String site)
Specified by:
hasSSOCredentials in interface org.apache.jetspeed.sso.SSOProvider

getCredentials

public org.apache.jetspeed.sso.SSOContext getCredentials(Subject subject,
                                                         String site)
                                                  throws org.apache.jetspeed.sso.SSOException
Specified by:
getCredentials in interface org.apache.jetspeed.sso.SSOProvider
Throws:
org.apache.jetspeed.sso.SSOException

addCredentialsForSite

public void addCredentialsForSite(Subject subject,
                                  String remoteUser,
                                  String site,
                                  String pwd)
                           throws org.apache.jetspeed.sso.SSOException
Specified by:
addCredentialsForSite in interface org.apache.jetspeed.sso.SSOProvider
Throws:
org.apache.jetspeed.sso.SSOException

removeCredentialsForSite

public void removeCredentialsForSite(Subject subject,
                                     String site)
                              throws org.apache.jetspeed.sso.SSOException
Specified by:
removeCredentialsForSite in interface org.apache.jetspeed.sso.SSOProvider
Throws:
org.apache.jetspeed.sso.SSOException

updateCredentialsForSite

public void updateCredentialsForSite(Subject subject,
                                     String remoteUser,
                                     String site,
                                     String pwd)
                              throws org.apache.jetspeed.sso.SSOException
updateCredentialsForSite

Specified by:
updateCredentialsForSite in interface org.apache.jetspeed.sso.SSOProvider
Parameters:
subject - Current subject
remoteUser - remote user login
site - URL or description of site
pwd - Password for credentail
Throws:
org.apache.jetspeed.sso.SSOException

getSSOSiteObject

private org.apache.jetspeed.sso.SSOSite getSSOSiteObject(String site)

getCredential

private org.apache.jetspeed.sso.SSOContext getCredential(org.apache.jetspeed.sso.SSOSite ssoSite,
                                                         String fullPath)

stripPrincipalName

private String stripPrincipalName(String fullPath)

getRemotePrincipalsForPrincipal

private Collection getRemotePrincipalsForPrincipal(org.apache.jetspeed.sso.SSOSite ssoSite,
                                                   String fullPath)

getPrincipalForSite

private org.apache.jetspeed.sso.SSOPrincipal getPrincipalForSite(org.apache.jetspeed.sso.SSOSite ssoSite,
                                                                 String fullPath)

getSSOPrincipal

private org.apache.jetspeed.sso.SSOPrincipal getSSOPrincipal(String fullPath)

removeRemotePrincipalForPrincipal

private org.apache.jetspeed.security.om.InternalUserPrincipal removeRemotePrincipalForPrincipal(org.apache.jetspeed.sso.SSOSite site,
                                                                                                String fullPath)
                                                                                         throws org.apache.jetspeed.sso.SSOException
removeRemotePrincipalForPrincipal

Parameters:
site -
fullPath -
Returns:
removes remotePrincipal for a site & principal
Throws:
org.apache.jetspeed.sso.SSOException

findRemoteMatch

private org.apache.jetspeed.security.om.InternalUserPrincipal findRemoteMatch(Collection remoteForPrincipals,
                                                                              Collection remoteForSite)

getRemotePrincipalsForPrincipal

private Collection getRemotePrincipalsForPrincipal(Collection principalsForSite,
                                                   String fullPath)

getSite

public org.apache.jetspeed.sso.SSOSite getSite(String siteUrl)
Specified by:
getSite in interface org.apache.jetspeed.sso.SSOProvider

updateSite

public void updateSite(org.apache.jetspeed.sso.SSOSite site)
                throws org.apache.jetspeed.sso.SSOException
Specified by:
updateSite in interface org.apache.jetspeed.sso.SSOProvider
Throws:
org.apache.jetspeed.sso.SSOException

addSite

public void addSite(String siteName,
                    String siteUrl)
             throws org.apache.jetspeed.sso.SSOException
Specified by:
addSite in interface org.apache.jetspeed.sso.SSOProvider
Throws:
org.apache.jetspeed.sso.SSOException

removeSite

public void removeSite(org.apache.jetspeed.sso.SSOSite site)
                throws org.apache.jetspeed.sso.SSOException
Specified by:
removeSite in interface org.apache.jetspeed.sso.SSOProvider
Throws:
org.apache.jetspeed.sso.SSOException

getPrincipalsForSite

public List getPrincipalsForSite(org.apache.jetspeed.sso.SSOSite site)
Specified by:
getPrincipalsForSite in interface org.apache.jetspeed.sso.SSOProvider

stripPortalPrincipalName

private String stripPortalPrincipalName(String fullPath)

getGroupPrincipals

private org.apache.jetspeed.security.om.InternalGroupPrincipal getGroupPrincipals(String principalFullPath)


Copyright © 1999-2005 Apache Software Foundation. All Rights Reserved.