com.waveset.adapter
Class SiteminderAdminResourceAdapter

java.lang.Object
  extended bycom.waveset.adapter.ResourceAdapterBase
      extended bycom.waveset.adapter.SiteminderAdminResourceAdapter
All Implemented Interfaces:
ResourceAdapter

public class SiteminderAdminResourceAdapter
extends ResourceAdapterBase


Nested Class Summary
 
Nested classes inherited from class com.waveset.adapter.ResourceAdapterBase
ResourceAdapterBase.SimpleAccountIterator
 
Nested classes inherited from class com.waveset.adapter.ResourceAdapter
ResourceAdapter.ActionResult, ResourceAdapter.Features, ResourceAdapter.ObjectType
 
Field Summary
protected  SiteminderUtil _smu
           
static java.lang.String code_id
           
static java.lang.String RA_ACCOUNTING_PORT
          Resource attribute name for the SM Authorization server port.
static java.lang.String RA_AUTHENT_PORT
          Resource attribute name for the SM Authentication server port.
static java.lang.String RA_AUTHOR_PORT
          Resource attribute name for the SM Authorization server port.
static java.lang.String RA_CONMAX
          Resource attribute name for the SM Connection Max.
static java.lang.String RA_CONMIN
          Resource attribute name for the SM Connection Min.
static java.lang.String RA_CONSTEP
          Resource attribute name for the SM Connection Step.
static java.lang.String RA_CUSTOM_AGENT
          Resource attribute name for the SM Authorization server port.
static java.lang.String RA_CUSTOM_AGENT_SHARED_SECRET
          Resource attribute name for the SM Authentication server port.
static java.lang.String RA_POL_SERVER
          Resource attribute name for SM policy server ip.
static java.lang.String RA_SMADMIN
          Resource attribute name for admin account.
static java.lang.String RA_SMPASSWORD
          Resource attribute name for the admin password.
static java.lang.String RA_TIMEOUT
          Resource attribute name for the SM Authentication server port.
static java.lang.String SM_DOMAIN
           
static java.lang.String SM_EXTERNALDIR
           
static java.lang.String SM_SITEMINDERDB
           
static java.lang.String SM_SYSTEM
           
static java.lang.String SMADMIN_ADMINAUTH
           
static java.lang.String SMADMIN_ADMINDOMAIN
           
static java.lang.String SMADMIN_AUTHSCHEME
           
static java.lang.String SMADMIN_DESCR
           
static java.lang.String SMADMIN_DOMAIN
           
static java.lang.String SMADMIN_HOSTS
           
static java.lang.String SMADMIN_KEYSPWD
           
static java.lang.String SMADMIN_REPORTS
           
static java.lang.String SMADMIN_SCOPE
           
static java.lang.String SMADMIN_SYSTEMDOMAIN
           
static java.lang.String SMADMIN_USERDIR
           
static java.lang.String SMADMIN_USERS
           
 
Fields inherited from class com.waveset.adapter.ResourceAdapterBase
_cache, _context, _excludedAccountsRule, _excludedAccountsRuleInited, _listAllObjectsAttrParse, _listAllObjectsAttrParseName, _listUserAttrParse, _listUserAttrParseName, _listUserGroupsAttrParse, _listUserGroupsAttrParseName, _resource, _thread, _trace, displayInfoCode, RA_BLOCKCOUNT, RA_LOGIN_ACTION, RA_LOGOFF_ACTION, RA_MULTI_VALUED_ATTRS, RA_TEST_MODE
 
Fields inherited from interface com.waveset.adapter.ResourceAdapter
CHANGE_PASSWORD_LOCATION, DISABLE, ENABLE, EXPIRE_PASSWORD, GUID, IGNORE_ATTR, NEW_ACCOUNT_ID, OP_DAYS_INACTIVE, OP_DISABLED, OP_DORMANT, OP_EXPIRED, OP_EXPIREDPWD, OP_INACTIVE, OP_LOCKED, OP_NO_PASSWORD_SET, OP_NOOWNERSHIP, OP_NOPASSWORDREQ, OP_NUMINACTIVEDAYS, OP_NUMPWDAYS, OP_PWNUMDAYS, RA_BASE_CTX, RA_DISPLAY_NAME_ATTR, RA_NEW_OBJECT_ID, RA_NEW_OBJECT_NAME, RA_OBJECT_ATTRIBUTES, RA_OBJECT_CLASS, RA_OBJECT_ID, RA_OBJECT_TYPE, RA_OP_TYPE, RA_RENAME_OP, RA_REQUESTOR, RA_SAVEAS_OP, RA_SEARCH_ATTRIBUTE_NAMES, RA_SEARCH_ATTRS_TO_GET, RA_SEARCH_CONTEXT, RA_SEARCH_FILTER, RA_SEARCH_RUN_AS_PASSWORD, RA_SEARCH_RUN_AS_USER, RA_SEARCH_SCOPE, RA_SEARCH_SCOPE_OBJECT, RA_SEARCH_SCOPE_ONE_LEVEL, RA_SEARCH_SCOPE_SUBTREE, RA_SEARCH_TIME_LIMIT, RESET_PASSWORD, SYSTEM_ATTRIBUTES, UNLOCK, WS_USER_PASSWORD
 
Constructor Summary
SiteminderAdminResourceAdapter()
           
SiteminderAdminResourceAdapter(Resource res, ObjectCache cache)
           
 
Method Summary
 WavesetResult authenticate(java.util.HashMap loginInfo)
          Authenticates the user against the resource.
 WavesetResult checkCreateAccount(WSUser user)
           
 WavesetResult checkDeleteAccount(WSUser user)
           
 WavesetResult checkUpdateAccount(WSUser user)
           
 Resource createPrototypeResource()
           
protected  void createUpdateSmAdmin(java.lang.String adminName, java.lang.String action, WSUser user, Resource _resource)
           
protected  WSUser getSmAdminAttributes(java.lang.String adminName)
           
 WSUser getUser(WSUser user)
          Retrieves account information from the resource for the specified WSUser and returns a new WSUser based on the information from the resource.
 java.util.ArrayList listAllObjects(java.lang.String resourceObjectType, java.util.Map options, java.lang.String runAsUser, EncryptedData runAsPassword)
          This method will return a list of object names of the specified object type.
 java.util.List listObjects(java.lang.String objectType, java.util.Map options)
          Default implementation calls older method listAllObjects(String, Map, String, EncryptedData), which does not support newer options (such as "searchContext" or "searchFilter").
protected  void realCreate(WSUser user, WavesetResult result)
          Needs to be overridden by subclass if default createAccounts() implementation is used.
protected  void realDelete(WSUser user, WavesetResult result)
          Needs to be overridden by subclass if default deleteAccounts() implementation is used.
protected  void realUpdate(WSUser user, WavesetResult result)
          Needs to be overridden by subclass if default updateAccounts() implementation is used.
protected  com.netegrity.sdk.policyapi.SmAdmin setSmAdminAttributes(com.netegrity.sdk.policyapi.SmAdmin admin, java.lang.String action, WSUser user, Resource _resource)
           
protected  void startConnection()
          Needs to be overridden by subclass if default createAccounts() implementation is used.
static Resource staticCreatePrototypeResource()
           
protected  void stopConnection()
          Needs to be overridden by subclass if default createAccounts() implementation is used.
 boolean supportsAccountDisable()
          Whether the resource can enable and disable accounts.
protected  WavesetResult testConnection(WavesetResult result)
           
 
Methods inherited from class com.waveset.adapter.ResourceAdapterBase
checkForNoPasswordInSchema, checkSyntax, createAccount, createAccounts, createIdentity, createObject, deleteAccount, deleteAccount, deleteAccounts, deleteObject, disableAccount, disableAccounts, dnsEqual, dnsEqual, enableAccount, enableAccounts, executeResourceAttributeJavascriptAction, fillInResourceInfo, fillInResourceInfo, getAccountAttributes, getAccountIterator, getAccountIterator, getAccountIterator, getAction, getActionNotFoundErrorMessage, getActionNotFoundMessage, getActionRunAsPassword, getActionRunAsUser, getActionTimeout, getActionType, getAdapter, getAdapter, getAdapter, getAdapterProxy, getAdapterProxy, getAllAccounts, getAttrNameFromMapName, getAttrNameFromMapName, getAttrParse, getAttrTypeFromMapName, getAttrTypeFromMapName, getAUserName, getBaseContextAttrName, getBaseContextObject, getBaseContexts, getBlockSize, getContext, getExcludedAccountsRule, getFeatures, getIdentity, getListAllObjectsAttrParse, getListUserAttrParse, getListUserGroupsAttrParse, getObject, getOptionalBooleanResAttrVal, getOptionalBooleanResAttrVal, getOptionalEncryptedResAttrVal, getOptionalResAttrVal, getOptionalStringResAttrVal, getRequiredResAttr, getRequiredResAttr, getRequiredResAttrVal, getRequiredResAttrVal, getRequiredResAttrVals, getRequiredUserAttributeNames, getResAttrValActionOnUser, getResAttrVals, getResource, getResourceAccounts, getResourceInfo, getResourceObjectAttrValNameAttr, getResourceObjectClassAttr, getResourceObjectTypePrefix, getSchemaMap, getUser, getWSAttrByMapName, getWSAttrByMapName, getWSAttrFromMap, handleActionResult, handleJavascriptActionResult, isAccountAttributeSecret, isExcludedAccount, isExcludedAccount, isFeatureEnabled, isSupported, isTestMode, listAllObjects, listObjects, listObjectsOfType, lookupAction, lookupAction, lookupActions, namesEqual, objectClassesMatchType, println, realDisable, realEnable, restoreResourceObjectClassAttr, run, run, runResourceAttributeJavascriptAction, scan, setCache, setContext, setDisabled, setFromResource, setResource, setResourceObjectClassAttr, setResourceOptionAttrs, startConnectionWrapper, supportsAccountActions, supportsActions, supportsCaseInsensitiveAccountIds, supportsContainerObjectTypes, supportsExcludedAccounts, supportsResourceAccount, supportsScanning, testConfiguration, updateAccount, updateAccounts, updateObject, updateResourceAccount, updateResourceIdentity, vmStoreBoot, vmStoreGet, vmStoreInit, vmStoreLatch, vmStorePut
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

code_id

public static final java.lang.String code_id
See Also:
Constant Field Values

_smu

protected SiteminderUtil _smu

SMADMIN_DESCR

public static final java.lang.String SMADMIN_DESCR
See Also:
Constant Field Values

SMADMIN_ADMINAUTH

public static final java.lang.String SMADMIN_ADMINAUTH
See Also:
Constant Field Values

SMADMIN_ADMINDOMAIN

public static final java.lang.String SMADMIN_ADMINDOMAIN
See Also:
Constant Field Values

SMADMIN_USERDIR

public static final java.lang.String SMADMIN_USERDIR
See Also:
Constant Field Values

SMADMIN_AUTHSCHEME

public static final java.lang.String SMADMIN_AUTHSCHEME
See Also:
Constant Field Values

SMADMIN_SCOPE

public static final java.lang.String SMADMIN_SCOPE
See Also:
Constant Field Values

SMADMIN_SYSTEMDOMAIN

public static final java.lang.String SMADMIN_SYSTEMDOMAIN
See Also:
Constant Field Values

SMADMIN_DOMAIN

public static final java.lang.String SMADMIN_DOMAIN
See Also:
Constant Field Values

SMADMIN_USERS

public static final java.lang.String SMADMIN_USERS
See Also:
Constant Field Values

SMADMIN_KEYSPWD

public static final java.lang.String SMADMIN_KEYSPWD
See Also:
Constant Field Values

SMADMIN_REPORTS

public static final java.lang.String SMADMIN_REPORTS
See Also:
Constant Field Values

SMADMIN_HOSTS

public static final java.lang.String SMADMIN_HOSTS
See Also:
Constant Field Values

RA_SMADMIN

public static final java.lang.String RA_SMADMIN
Resource attribute name for admin account.

See Also:
Constant Field Values

RA_SMPASSWORD

public static final java.lang.String RA_SMPASSWORD
Resource attribute name for the admin password.

See Also:
Constant Field Values

RA_POL_SERVER

public static final java.lang.String RA_POL_SERVER
Resource attribute name for SM policy server ip.

See Also:
Constant Field Values

RA_AUTHOR_PORT

public static final java.lang.String RA_AUTHOR_PORT
Resource attribute name for the SM Authorization server port.

See Also:
Constant Field Values

RA_AUTHENT_PORT

public static final java.lang.String RA_AUTHENT_PORT
Resource attribute name for the SM Authentication server port.

See Also:
Constant Field Values

RA_ACCOUNTING_PORT

public static final java.lang.String RA_ACCOUNTING_PORT
Resource attribute name for the SM Authorization server port.

See Also:
Constant Field Values

RA_TIMEOUT

public static final java.lang.String RA_TIMEOUT
Resource attribute name for the SM Authentication server port.

See Also:
Constant Field Values

RA_CUSTOM_AGENT

public static final java.lang.String RA_CUSTOM_AGENT
Resource attribute name for the SM Authorization server port.

See Also:
Constant Field Values

RA_CUSTOM_AGENT_SHARED_SECRET

public static final java.lang.String RA_CUSTOM_AGENT_SHARED_SECRET
Resource attribute name for the SM Authentication server port.

See Also:
Constant Field Values

RA_CONMIN

public static final java.lang.String RA_CONMIN
Resource attribute name for the SM Connection Min.

See Also:
Constant Field Values

RA_CONMAX

public static final java.lang.String RA_CONMAX
Resource attribute name for the SM Connection Max.

See Also:
Constant Field Values

RA_CONSTEP

public static final java.lang.String RA_CONSTEP
Resource attribute name for the SM Connection Step.

See Also:
Constant Field Values

SM_SYSTEM

public static final java.lang.String SM_SYSTEM
See Also:
Constant Field Values

SM_DOMAIN

public static final java.lang.String SM_DOMAIN
See Also:
Constant Field Values

SM_SITEMINDERDB

public static final java.lang.String SM_SITEMINDERDB
See Also:
Constant Field Values

SM_EXTERNALDIR

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

SiteminderAdminResourceAdapter

public SiteminderAdminResourceAdapter(Resource res,
                                      ObjectCache cache)

SiteminderAdminResourceAdapter

public SiteminderAdminResourceAdapter()
Method Detail

staticCreatePrototypeResource

public static Resource staticCreatePrototypeResource()
                                              throws WavesetException
Throws:
WavesetException

createPrototypeResource

public Resource createPrototypeResource()
                                 throws WavesetException
Specified by:
createPrototypeResource in interface ResourceAdapter
Specified by:
createPrototypeResource in class ResourceAdapterBase
Throws:
WavesetException

getUser

public WSUser getUser(WSUser user)
               throws WavesetException
Description copied from interface: ResourceAdapter
Retrieves account information from the resource for the specified WSUser and returns a new WSUser based on the information from the resource. Returns null if the account does not exist.

Specified by:
getUser in interface ResourceAdapter
Overrides:
getUser in class ResourceAdapterBase
Throws:
WavesetException

checkCreateAccount

public WavesetResult checkCreateAccount(WSUser user)
                                 throws WavesetException
Specified by:
checkCreateAccount in interface ResourceAdapter
Specified by:
checkCreateAccount in class ResourceAdapterBase
Throws:
WavesetException

realCreate

protected void realCreate(WSUser user,
                          WavesetResult result)
                   throws WavesetException
Description copied from class: ResourceAdapterBase
Needs to be overridden by subclass if default createAccounts() implementation is used.

Overrides:
realCreate in class ResourceAdapterBase
Throws:
WavesetException

checkUpdateAccount

public WavesetResult checkUpdateAccount(WSUser user)
                                 throws WavesetException
Specified by:
checkUpdateAccount in interface ResourceAdapter
Specified by:
checkUpdateAccount in class ResourceAdapterBase
Throws:
WavesetException

realUpdate

protected void realUpdate(WSUser user,
                          WavesetResult result)
                   throws WavesetException
Description copied from class: ResourceAdapterBase
Needs to be overridden by subclass if default updateAccounts() implementation is used.

Overrides:
realUpdate in class ResourceAdapterBase
Throws:
WavesetException

checkDeleteAccount

public WavesetResult checkDeleteAccount(WSUser user)
                                 throws WavesetException
Specified by:
checkDeleteAccount in interface ResourceAdapter
Specified by:
checkDeleteAccount in class ResourceAdapterBase
Throws:
WavesetException

realDelete

protected void realDelete(WSUser user,
                          WavesetResult result)
                   throws WavesetException
Description copied from class: ResourceAdapterBase
Needs to be overridden by subclass if default deleteAccounts() implementation is used.

Overrides:
realDelete in class ResourceAdapterBase
Throws:
WavesetException

authenticate

public WavesetResult authenticate(java.util.HashMap loginInfo)
                           throws WavesetException
Description copied from interface: ResourceAdapter
Authenticates the user against the resource. If authentication is successful, the authenticated id will be returned. If more info is required to complete authentication the result will contain the required info

Specified by:
authenticate in interface ResourceAdapter
Specified by:
authenticate in class ResourceAdapterBase
Throws:
WavesetException

testConnection

protected WavesetResult testConnection(WavesetResult result)
                                throws WavesetException
Throws:
WavesetException

startConnection

protected void startConnection()
                        throws WavesetException
Description copied from class: ResourceAdapterBase
Needs to be overridden by subclass if default createAccounts() implementation is used.

Overrides:
startConnection in class ResourceAdapterBase
Throws:
WavesetException

stopConnection

protected void stopConnection()
                       throws WavesetException
Description copied from class: ResourceAdapterBase
Needs to be overridden by subclass if default createAccounts() implementation is used.

Overrides:
stopConnection in class ResourceAdapterBase
Throws:
WavesetException

listObjects

public java.util.List listObjects(java.lang.String objectType,
                                  java.util.Map options)
                           throws WavesetException
Description copied from class: ResourceAdapterBase
Default implementation calls older method ResourceAdapterBase.listAllObjects(String, Map, String, EncryptedData), which does not support newer options (such as "searchContext" or "searchFilter").

Each ResourceAdapter subclass should override this default implementation as soon as possible with an implementation that supports the options specified in {#listObjects(ObjectType, Map)}.

Specified by:
listObjects in interface ResourceAdapter
Overrides:
listObjects in class ResourceAdapterBase
Throws:
WavesetException

listAllObjects

public java.util.ArrayList listAllObjects(java.lang.String resourceObjectType,
                                          java.util.Map options,
                                          java.lang.String runAsUser,
                                          EncryptedData runAsPassword)
                                   throws WavesetException
Description copied from interface: ResourceAdapter
This method will return a list of object names of the specified object type. If you need to be able to specify which attrs to return, use listObjects instead

Specified by:
listAllObjects in interface ResourceAdapter
Overrides:
listAllObjects in class ResourceAdapterBase
Parameters:
resourceObjectType - - a type of object that is either well-known or is meaningful to the resource. Every resource is expected to recognize certain values. For example, listAllObjects(ObjectType.ACCOUNT, null, null, null) should return a list of all account names.
options - - a map of options
runAsUser - - (optional) if specified, connect as this user to list all objects of the specified type.
runAsPassword - - (optional) if specified, connect with this password to list all objects of the specified type.
Returns:
a list of all object names of a specified type.
Throws:
WavesetException

setSmAdminAttributes

protected com.netegrity.sdk.policyapi.SmAdmin setSmAdminAttributes(com.netegrity.sdk.policyapi.SmAdmin admin,
                                                                   java.lang.String action,
                                                                   WSUser user,
                                                                   Resource _resource)
                                                            throws WavesetException
Throws:
WavesetException

createUpdateSmAdmin

protected void createUpdateSmAdmin(java.lang.String adminName,
                                   java.lang.String action,
                                   WSUser user,
                                   Resource _resource)
                            throws WavesetException
Throws:
WavesetException

getSmAdminAttributes

protected WSUser getSmAdminAttributes(java.lang.String adminName)
                               throws WavesetException
Throws:
WavesetException

supportsAccountDisable

public boolean supportsAccountDisable()
Whether the resource can enable and disable accounts.

Specified by:
supportsAccountDisable in interface ResourceAdapter
Overrides:
supportsAccountDisable in class ResourceAdapterBase
Returns:
boolean if Account Disable supported