com.raritantechnologies.security
Class VeritySecurityManager

java.lang.Object
  extended bycom.raritantechnologies.searchApp.SecurityManager
      extended bycom.raritantechnologies.searchApp.PropertiesSecurityManager
          extended bycom.raritantechnologies.security.VeritySecurityManager
All Implemented Interfaces:
ISecurityManager

public class VeritySecurityManager
extends PropertiesSecurityManager
implements ISecurityManager

Implements security using Verity K2 Ticket Server.

XML Configuration Template:
   <SecurityManager name="[SecurityManager name]" class="com.raritantechnologies.security.VeritySecurityManager"
                       k2ServerSpec="[host:port of Verity K2 ticket server]"
                       alternateLoginName="[ (optional) alternate login key to use ]" />
 

Developed by Raritan Technologies .

Author:
Ted Sullivan

Field Summary
static java.lang.String TICKET_KEY
           
 
Fields inherited from class com.raritantechnologies.searchApp.PropertiesSecurityManager
alternateLoginName, publicAccessComparator, secureAccessField
 
Fields inherited from class com.raritantechnologies.searchApp.SecurityManager
defaultIsPublic
 
Constructor Summary
VeritySecurityManager()
           
VeritySecurityManager(java.lang.String k2ServerSpec)
           
 
Method Summary
static boolean authenticateRepository(VSearch vs, ILoginInfo user, java.lang.String collAlias, SecurityModel secModel)
           
 boolean canAccess(ILoginInfo userInfo, java.lang.String uri, boolean useDefault)
          Check if a user canAccess a collection URI format is K2Server://[sourceName]@[collection name]
 SourceLoginInfo[] getAvailableSources(ILoginInfo userInfo)
          Returns a list of available search sources for the user.
 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.
 java.lang.String getTicket(ILoginInfo user)
           
 void initialize(org.w3c.dom.Element elem)
           
 void initialize(java.util.Map initParams)
           
 boolean validate(ILoginInfo user)
          ISecurityManager implementation: Check if we get a valid Ticket from Verity
 
Methods inherited from class com.raritantechnologies.searchApp.PropertiesSecurityManager
getPassword, 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, getStoredCertificate, getStoredKey, getUser, isPublic, registerUser, removeUser
 

Field Detail

TICKET_KEY

public static final java.lang.String TICKET_KEY
See Also:
Constant Field Values
Constructor Detail

VeritySecurityManager

public VeritySecurityManager()

VeritySecurityManager

public VeritySecurityManager(java.lang.String k2ServerSpec)
Method Detail

initialize

public void initialize(java.util.Map initParams)
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

getAvailableSources

public SourceLoginInfo[] getAvailableSources(ILoginInfo userInfo)
Description copied from interface: ISecurityManager
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

getSourceLogin

public SourceLoginInfo getSourceLogin(ILoginInfo userInfo,
                                      java.lang.String sourceName,
                                      SecurityModel secModel)
Description copied from interface: ISecurityManager
Returns source login info for a given user / source

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

getSourceLoginInfo

public ILoginInfo getSourceLoginInfo(ILoginInfo userInfo,
                                     java.lang.String sourceName,
                                     SecurityModel secModel)
returns valid source LoginInfo for the User or null if fails. SecurityModel - used to get strong security tokens - Not implemented yet .

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

validate

public boolean validate(ILoginInfo user)
ISecurityManager implementation: Check if we get a valid Ticket from Verity

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

getTicket

public java.lang.String getTicket(ILoginInfo user)

canAccess

public boolean canAccess(ILoginInfo userInfo,
                         java.lang.String uri,
                         boolean useDefault)
Check if a user canAccess a collection URI format is K2Server://[sourceName]@[collection name]

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

authenticateRepository

public static boolean authenticateRepository(VSearch vs,
                                             ILoginInfo user,
                                             java.lang.String collAlias,
                                             SecurityModel secModel)