com.raritantechnologies.security
Class CompositeSecurityManager

java.lang.Object
  extended byjava.lang.SecurityManager
      extended bycom.raritantechnologies.security.CompositeSecurityManager

public class CompositeSecurityManager
extends java.lang.SecurityManager

Composite Security Manager - contains a set of nested SecurityManager. Can be configured so that any one of the SecurityManagers can grant access or all SecurityManagers are required to grant access. OR mode useful in Federated search situations where different sources have different security requirements.

XML Configuration Template:
   <SecurityManager class="com.raritantechnologies.security.CompositeSecurityManager" 
                       allMustAgree="[ true|false( default ) - only one or all security managers must validate ]" >

     <!-- One or more delegate SecurityManagers -->
     <SecurityManager class="[ class of ISecurityManager ]" >

     </SecurityManager>

     <SecurityManager class="[ class of ISecurityManager ]" >

     </SecurityManager>

     <!-- etc... -->

   </SecurityManager>

 

Developed by Raritan Technologies .

Author:
Ted Sullivan

Field Summary
 
Fields inherited from class java.lang.SecurityManager
inCheck
 
Constructor Summary
CompositeSecurityManager()
           
 
Method Summary
 SourceLoginInfo[] getAvailableSources(ILoginInfo userInfo)
          Returns a list of available search sources for the user.
 SourceLoginInfo getSourceLogin(ILoginInfo userInfo, java.lang.String sourceName, SecurityModel secMod)
          Returns source login info for a given user / source
 ILoginInfo getSourceLoginInfo(ILoginInfo userInfo, java.lang.String sourceName, SecurityModel secMod)
          returns valid source LoginInfo for the User or null if fails.
 ILoginInfo getUser(java.lang.String sessionID)
           
 void initialize(org.w3c.dom.Element elem)
           
 void initialize(java.util.Map params)
           
 void registerUser(java.lang.String sessionID, ILoginInfo loginInfo)
           
 void removeUser(java.lang.String sessionID)
           
 boolean validate(ILoginInfo user)
           
 
Methods inherited from class java.lang.SecurityManager
checkAccept, checkAccess, checkAccess, checkAwtEventQueueAccess, checkConnect, checkConnect, checkCreateClassLoader, checkDelete, checkExec, checkExit, checkLink, checkListen, checkMemberAccess, checkMulticast, checkMulticast, checkPackageAccess, checkPackageDefinition, checkPermission, checkPermission, checkPrintJobAccess, checkPropertiesAccess, checkPropertyAccess, checkRead, checkRead, checkRead, checkSecurityAccess, checkSetFactory, checkSystemClipboardAccess, checkTopLevelWindow, checkWrite, checkWrite, classDepth, classLoaderDepth, currentClassLoader, currentLoadedClass, getClassContext, getInCheck, getSecurityContext, getThreadGroup, inClass, inClassLoader
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CompositeSecurityManager

public CompositeSecurityManager()
Method Detail

validate

public boolean validate(ILoginInfo user)

registerUser

public void registerUser(java.lang.String sessionID,
                         ILoginInfo loginInfo)

getUser

public ILoginInfo getUser(java.lang.String sessionID)

removeUser

public void removeUser(java.lang.String sessionID)

getAvailableSources

public SourceLoginInfo[] getAvailableSources(ILoginInfo userInfo)
Returns a list of available search sources for the user. The returned objects contain security information needed to validate the user against each source.


getSourceLogin

public SourceLoginInfo getSourceLogin(ILoginInfo userInfo,
                                      java.lang.String sourceName,
                                      SecurityModel secMod)
Returns source login info for a given user / source


getSourceLoginInfo

public ILoginInfo getSourceLoginInfo(ILoginInfo userInfo,
                                     java.lang.String sourceName,
                                     SecurityModel secMod)
returns valid source LoginInfo for the User or null if fails.


initialize

public void initialize(java.util.Map params)

initialize

public void initialize(org.w3c.dom.Element elem)