|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.raritantechnologies.searchApp.SecurityManager
com.raritantechnologies.searchApp.PropertiesSecurityManager
Simple implementation of ISecurityManager uses LoginInfo.properties to look up user name and searchSource.
Requires an instance of LoginInfo.properties to be found in the classpath.
XML Configuration Template:
<SecurityManager class="com.raritantechnologies.searchApp.PropertiesSecurityManager"
secureAccessField="[ result field that contains access control data ]" >
<!-- 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.IComparator ]" >
</PublicAccessComparator>
</SecurityManager>
| Field Summary | |
protected java.lang.String |
alternateLoginName
|
protected IComparator |
publicAccessComparator
|
protected java.lang.String |
secureAccessField
|
| Fields inherited from class com.raritantechnologies.searchApp.SecurityManager |
defaultIsPublic |
| Constructor Summary | |
PropertiesSecurityManager()
|
|
PropertiesSecurityManager(java.lang.String propBundle)
|
|
| Method Summary | |
SourceLoginInfo[] |
getAvailableSources(ILoginInfo userInfo)
Returns a list of available search sources for the user. |
protected java.lang.String |
getPassword(ILoginInfo userInfo,
SecurityModel secModel)
|
SourceLoginInfo |
getSourceLogin(ILoginInfo userInfo,
java.lang.String sourceName,
SecurityModel secModel)
Returns source login info for a given user / source. |
ILoginInfo |
getSourceLoginInfo(ILoginInfo userInfo,
java.lang.String sourceName,
SecurityModel secModel)
returns valid source LoginInfo for the User or null if fails. |
ILoginInfo |
getUser(java.lang.String sessionID)
|
protected java.lang.String |
getUserName(ILoginInfo userInfo,
SecurityModel secModel)
|
void |
initialize(org.w3c.dom.Element elem)
|
void |
initialize(java.util.Map params)
|
boolean |
isPublic(IResult result)
Subclasses should override this to determine if a result is public (world-read) or not public (has an ACL for example). |
void |
registerUser(java.lang.String sessionID,
ILoginInfo loginInfo)
|
void |
removeUser(java.lang.String sessionID)
|
static void |
setStreamFactory(IStreamFactory factory)
|
boolean |
validate(ILoginInfo loginInfo)
Validates the loginInfo - may add group information etc to the loginInfo object. |
| Methods inherited from class com.raritantechnologies.searchApp.SecurityManager |
canAccess, 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 |
canAccess, filterResult, getCipherInputStream, getCipherOutputStream, getStoredCertificate, getStoredKey |
| Field Detail |
protected java.lang.String alternateLoginName
protected java.lang.String secureAccessField
protected IComparator publicAccessComparator
| Constructor Detail |
public PropertiesSecurityManager()
public PropertiesSecurityManager(java.lang.String propBundle)
| Method Detail |
public void initialize(java.util.Map params)
initialize in interface ISecurityManagerinitialize in class SecurityManagerpublic void initialize(org.w3c.dom.Element elem)
initialize in interface ISecurityManagerinitialize in class SecurityManagerpublic boolean isPublic(IResult result)
SecurityManager
isPublic in interface ISecurityManagerisPublic in class SecurityManagerpublic boolean validate(ILoginInfo loginInfo)
validate in interface ISecurityManagerpublic SourceLoginInfo[] getAvailableSources(ILoginInfo userInfo)
getAvailableSources in interface ISecurityManager
public SourceLoginInfo getSourceLogin(ILoginInfo userInfo,
java.lang.String sourceName,
SecurityModel secModel)
getSourceLogin in interface ISecurityManager
public ILoginInfo getSourceLoginInfo(ILoginInfo userInfo,
java.lang.String sourceName,
SecurityModel secModel)
getSourceLoginInfo in interface ISecurityManager
public void registerUser(java.lang.String sessionID,
ILoginInfo loginInfo)
registerUser in interface ISecurityManagerpublic ILoginInfo getUser(java.lang.String sessionID)
getUser in interface ISecurityManagerpublic void removeUser(java.lang.String sessionID)
removeUser in interface ISecurityManagerpublic static void setStreamFactory(IStreamFactory factory)
protected java.lang.String getUserName(ILoginInfo userInfo,
SecurityModel secModel)
protected java.lang.String getPassword(ILoginInfo userInfo,
SecurityModel secModel)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||