Decide which type of connector you want to implement. The CA IAM CS SDK provides several abstract connector base classes you can extend:
Note: Extending MetaConnector is a much faster and less error-prone alternative because flexible metadata rather than static Java code drives most of the logic.
Most endpoint systems have a flat (nonhierarchical) structure, which is reflected by extending from MetaConnector and overriding its isBehaviourSearchSingleClass() method to return true. This causes the framework to call your connectors’ attribute-style processor’s doSearch() method with one object class at a time (even when a SEARCH filter matches multiple object classes), greatly simplifying the implementation of this method.
However, for performance and logical grouping reasons, it is best to present objects of the same type (accounts/groups) as contained in their own virtual container. This class takes care of presenting these logical virtual containers on your behalf where virtual containers are specified in the connector's conf/connector.xml configuration file.
Note: For more information, see the SDK example connector.
Note: Defining virtual containers more dynamically in metadata is considered best practice. For an example, see the definition of the eTDYNAccountContainer class in cs-sdk-home/connectors/sdkdyn/conf/sdkdyn_metadata.xml). Most custom connectors can be implemented by extending this class.
If your custom connector supports a hierarchy (such as an LDAP or JNDI directory), and you want to represent this information in your connector, this class (or one of its derived classes) we recommended that you start with this class. If the endpoint system search semantics map clearly to LDAP search filters that can match multiple objectclasses, then write your connector so that it does not define isBehaviourSearchSingleClass(), as it defaults to false.
Other Boolean behavioral methods include:
When the connector returns true from isBehaviourSearchObjAsLookup() in its metaConnector class, the CA IAM CS calls the connectors doLookup() method when a base level search request is received. When there is a search filter included in the search request, it is ignored by CA IAM CS. As a result, CA IAM CS sometimes returns search results that should not be returned according to the search filter used in the original search request.
Some connectors can utilize BehaviourSearchObjAsLookup() method, by overriding it to return true to mean that they want to take advantage of CA IAM CS changing some searches into lookups (where applicable).
When this happens, CA IAM CS now post filters the lookup result to ensure it complies with the original search filter (if any).
table
external to both of the objects? The default value returned by this method is null, which means that metadata will be consulted it order to determine the style of association for each association (for instance the JDBC connector supports both indirect and direct styles of associations). Where the style of associations is strictly defined by the technology of the endpoint system either true or false should be returned as appropriate. For instance the JNDI connector returns "false" from this method as LDAP technology does not support indirect associations.Note: For more information, see the SDK example and the CA IAM CS Javadoc in the CA IdentityMinder bookshelf.
Copyright © 2013 CA.
All rights reserved.
|
|