com.raritantechnologies.searchApp
Class SecurityManager

java.lang.Object
  extended bycom.raritantechnologies.searchApp.SecurityManager
All Implemented Interfaces:
ISecurityManager
Direct Known Subclasses:
DualSecurityManager, FlatFileSecurityManager, LdapSecurityManager, PropertiesSecurityManager

public abstract class SecurityManager
extends java.lang.Object
implements ISecurityManager

Handles all security decisions for an application.


Developed by Raritan Technologies .

Author:
Ted Sullivan

Field Summary
protected  boolean defaultIsPublic
           
 
Constructor Summary
SecurityManager()
           
 
Method Summary
 boolean canAccess(ILoginInfo userInfo, java.lang.String uri, boolean useDefault)
          Subclasses should override this to add access restrictions to a Universal Resource Locator
 IResult filterResult(IResult originalResult, ILoginInfo userInfo)
          Subclasses should override this to provide field level security on results
 javax.crypto.CipherInputStream getCipherInputStream(ILoginInfo loginInfo, SecurityModel secModel, java.io.InputStream inpStr)
           
 javax.crypto.CipherOutputStream getCipherOutputStream(ILoginInfo loginInfo, SecurityModel secModel, java.io.OutputStream outStr)
           
static java.lang.String getFullTextIndexKey()
           
 java.security.cert.Certificate getStoredCertificate(ILoginInfo loginInfo, SecurityModel secModel)
           
 java.security.Key getStoredKey(ILoginInfo loginInfo, 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).
static void setFullTextIndexKey(java.lang.String pFullTextIndexKey)
           
 
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
getAvailableSources, getSourceLogin, getSourceLoginInfo, getUser, registerUser, removeUser, validate
 

Field Detail

defaultIsPublic

protected boolean defaultIsPublic
Constructor Detail

SecurityManager

public SecurityManager()
Method Detail

initialize

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

initialize

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

canAccess

public boolean canAccess(ILoginInfo userInfo,
                         java.lang.String uri,
                         boolean useDefault)
Subclasses should override this to add access restrictions to a Universal Resource Locator

Specified by:
canAccess in interface ISecurityManager

isPublic

public 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).

Specified by:
isPublic in interface ISecurityManager

filterResult

public IResult filterResult(IResult originalResult,
                            ILoginInfo userInfo)
Subclasses should override this to provide field level security on results

Specified by:
filterResult in interface ISecurityManager

getStoredKey

public java.security.Key getStoredKey(ILoginInfo loginInfo,
                                      SecurityModel secModel)
Specified by:
getStoredKey in interface ISecurityManager

getStoredCertificate

public java.security.cert.Certificate getStoredCertificate(ILoginInfo loginInfo,
                                                           SecurityModel secModel)
Specified by:
getStoredCertificate in interface ISecurityManager

getCipherInputStream

public javax.crypto.CipherInputStream getCipherInputStream(ILoginInfo loginInfo,
                                                           SecurityModel secModel,
                                                           java.io.InputStream inpStr)
Specified by:
getCipherInputStream in interface ISecurityManager

getCipherOutputStream

public javax.crypto.CipherOutputStream getCipherOutputStream(ILoginInfo loginInfo,
                                                             SecurityModel secModel,
                                                             java.io.OutputStream outStr)
Specified by:
getCipherOutputStream in interface ISecurityManager

setFullTextIndexKey

public static void setFullTextIndexKey(java.lang.String pFullTextIndexKey)

getFullTextIndexKey

public static java.lang.String getFullTextIndexKey()