com.raritantechnologies.federated.eRoom
Class ERoomSecurityManager

java.lang.Object
  extended bycom.raritantechnologies.searchApp.SecurityManager
      extended bycom.raritantechnologies.searchApp.PropertiesSecurityManager
          extended bycom.raritantechnologies.federated.eRoom.ERoomSecurityManager
All Implemented Interfaces:
ISecurityManager

public class ERoomSecurityManager
extends PropertiesSecurityManager
implements ISecurityManager

Security Manager that controls access to eRooms.

XML Configuration Template:
   <SecurityManager name="[ name of security manager ]"
                       class="com.raritantechnologies.federated.eRoom.ERoomSecurityManager"
                       alternateLogin=" alternate user login name ]"
                       useMonitor="true|false"
                       monitorURI="[ eRoom Facilities url http(s)://[host:port]/eroomXML/Facilities"
                       adminUserName="[ eRoom admin User name ]"
                       adminPassword="[ eRoom admin user password ]"
                       targetObjectURI=" SOAP target for eRoom ]"
                       secureAccessField="[ result field that contains access control data ]" >

     <ERoomUserMonitor class="[ class of com.raritantechnologies.federated.eRoom.ERoomUserMonitor" >

     </ERoomUserMonitor>

     <!-- Optional comparator to determine if the value of an IResult secureAccessField enables public (world-read) access      -->
     <!-- Defaults to com.raritantechnologies.utils.comparator.NothingComparator meaning that if no access control information  -->
     <!-- is present, then the record is assumed to be public. This default logic can be altered by supplying a Comparator here -->
     <PublicAccessComparator class="[ class of com.raritantechnologies.utils.comparators.{link com.raritantechnologies.utils.comparators.IComparator} ]" >

     </PublicAccessComparator>

   </SecurityManager>
 
 

Developed by Raritan Technologies Inc..

Author:
Ted Sullivan

Field Summary
 
Fields inherited from class com.raritantechnologies.searchApp.PropertiesSecurityManager
alternateLoginName, publicAccessComparator, secureAccessField
 
Fields inherited from class com.raritantechnologies.searchApp.SecurityManager
defaultIsPublic
 
Constructor Summary
ERoomSecurityManager()
           
 
Method Summary
 boolean canAccess(ILoginInfo userInfo, java.lang.String uri, boolean useDefault)
          Checks to see if this user has access to this ERoom URL uri = "eRoomName:[ eroom name ]@eRoomURL:[ eroom URL ]"
 boolean canAccessItem(ILoginInfo userInfo, java.lang.String itemURL)
          returns true if a user can access an eRoom Item.
static java.util.HashMap getAllUserERooms(java.lang.String eRoomServerURI, java.lang.String adminUID, java.lang.String adminPW)
           
 SourceLoginInfo[] getAvailableSources(ILoginInfo userInfo)
          Returns a list of available search sources for the user.
 ILoginInfo getSourceLoginInfo(ILoginInfo userInfo, java.lang.String sourceName, SecurityModel secModel)
          Check to see if this user has access to this ERoom
 java.util.List getUserERooms(ILoginInfo userInfo, java.lang.String uriPattern)
          returns list of user eRooms.
protected  java.lang.String getXSLTransform()
           
 void initialize(org.w3c.dom.Element elem)
           
 void initialize(java.util.Map params)
           
 void setAlternateLogin(java.lang.String alternateLogin)
           
 void setResultType(java.lang.String resultType)
           
 void setTargetURI(java.lang.String targetURI)
           
 boolean validate(ILoginInfo loginInfo)
          Checks if a user has access to any eRooms in an eRoom server.
 
Methods inherited from class com.raritantechnologies.searchApp.PropertiesSecurityManager
getPassword, getSourceLogin, getUser, getUserName, isPublic, registerUser, removeUser, setStreamFactory
 
Methods inherited from class com.raritantechnologies.searchApp.SecurityManager
filterResult, getCipherInputStream, getCipherOutputStream, getFullTextIndexKey, getStoredCertificate, getStoredKey, setFullTextIndexKey
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.raritantechnologies.searchApp.ISecurityManager
filterResult, getCipherInputStream, getCipherOutputStream, getSourceLogin, getStoredCertificate, getStoredKey, getUser, isPublic, registerUser, removeUser
 

Constructor Detail

ERoomSecurityManager

public ERoomSecurityManager()
Method Detail

setTargetURI

public void setTargetURI(java.lang.String targetURI)

setResultType

public void setResultType(java.lang.String resultType)

setAlternateLogin

public void setAlternateLogin(java.lang.String alternateLogin)

validate

public boolean validate(ILoginInfo loginInfo)
Checks if a user has access to any eRooms in an eRoom server. login to the eRoom server using user name / password

Specified by:
validate in interface ISecurityManager
Overrides:
validate in class PropertiesSecurityManager

canAccess

public boolean canAccess(ILoginInfo userInfo,
                         java.lang.String uri,
                         boolean useDefault)
Checks to see if this user has access to this ERoom URL uri = "eRoomName:[ eroom name ]@eRoomURL:[ eroom URL ]"

Specified by:
canAccess in interface ISecurityManager
Overrides:
canAccess in class SecurityManager

canAccessItem

public boolean canAccessItem(ILoginInfo userInfo,
                             java.lang.String itemURL)
returns true if a user can access an eRoom Item.


getSourceLoginInfo

public ILoginInfo getSourceLoginInfo(ILoginInfo userInfo,
                                     java.lang.String sourceName,
                                     SecurityModel secModel)
Check to see if this user has access to this ERoom

Specified by:
getSourceLoginInfo in interface ISecurityManager
Overrides:
getSourceLoginInfo in class PropertiesSecurityManager

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.

Specified by:
getAvailableSources in interface ISecurityManager
Overrides:
getAvailableSources in class PropertiesSecurityManager

getUserERooms

public java.util.List getUserERooms(ILoginInfo userInfo,
                                    java.lang.String uriPattern)
returns list of user eRooms.

Parameters:
userInfo - User Login information.
uriPattern - String pattern containing "{EROOM_NAME}" and {EROOM_URL} sections.

getAllUserERooms

public static java.util.HashMap getAllUserERooms(java.lang.String eRoomServerURI,
                                                 java.lang.String adminUID,
                                                 java.lang.String adminPW)

initialize

public void initialize(java.util.Map params)
Specified by:
initialize in interface ISecurityManager
Overrides:
initialize in class PropertiesSecurityManager

initialize

public void initialize(org.w3c.dom.Element elem)
Specified by:
initialize in interface ISecurityManager
Overrides:
initialize in class PropertiesSecurityManager

getXSLTransform

protected java.lang.String getXSLTransform()