Class ExoLDAPIdentityStoreImpl
java.lang.Object
org.picketlink.idm.impl.store.ldap.LDAPIdentityStoreImpl
org.picketlink.idm.impl.store.ldap.ExoLDAPIdentityStoreImpl
- All Implemented Interfaces:
Serializable,org.picketlink.idm.spi.store.AttributeStore,org.picketlink.idm.spi.store.IdentityStore,org.picketlink.idm.spi.store.IdentityStoreSessionFactory
public class ExoLDAPIdentityStoreImpl
extends org.picketlink.idm.impl.store.ldap.LDAPIdentityStoreImpl
extends the class LDAPIdentityStoreImpl from PicketLink Idm in order to
improve the fetching members of groups from Active directory by fixing the
way when retrieving the ID of the IdentityObject from LDAP in case CN is not
equal to the UID attribute value
- See Also:
-
Field Summary
FieldsFields inherited from class org.picketlink.idm.impl.store.ldap.LDAPIdentityStoreImpl
MEMBERSHIP_TYPE, ROLE_TYPE, ROLE_TYPE_MEMBER -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidbootstrap(org.picketlink.idm.spi.configuration.IdentityStoreConfigurationContext configurationContext) org.picketlink.idm.spi.model.IdentityObjectfindIdentityObject(org.picketlink.idm.spi.store.IdentityStoreInvocationContext ctx, String id) retrieve the ID of the IdentityObject from LDAP according to the customer's configuration (prevent problems when cn is not equal to the uid attribute )Collection<org.picketlink.idm.spi.model.IdentityObject> findIdentityObject(org.picketlink.idm.spi.store.IdentityStoreInvocationContext ctx, org.picketlink.idm.spi.model.IdentityObject identity, org.picketlink.idm.spi.model.IdentityObjectRelationshipType relationshipType, Collection<org.picketlink.idm.spi.model.IdentityObjectType> excludes, boolean parent, org.picketlink.idm.spi.search.IdentityObjectSearchCriteria criteria) To fix the exception encountered when trying to retrieve filtered groups, we verify if findIdentityObject() returns null or notCollection<org.picketlink.idm.spi.model.IdentityObject> findIdentityObject(org.picketlink.idm.spi.store.IdentityStoreInvocationContext invocationCtx, org.picketlink.idm.spi.model.IdentityObjectType type, org.picketlink.idm.spi.search.IdentityObjectSearchCriteria criteria) This is an override of original implementation to be able to query on modification date.getAttributes(org.picketlink.idm.spi.store.IdentityStoreInvocationContext ctx, org.picketlink.idm.spi.model.IdentityObject identity) List<org.picketlink.idm.impl.store.ldap.SerializableSearchResult> searchIdentityObjects(org.picketlink.idm.spi.store.IdentityStoreInvocationContext ctx, String[] entryCtxs, String filter, Object[] filterArgs, String[] returningAttributes, String searchScope, Control[] requestControls) Methods inherited from class org.picketlink.idm.impl.store.ldap.LDAPIdentityStoreImpl
addAttributes, checkCtx, createIdentityObject, createIdentityObject, createIdentityObjectInstance, createIdentityStoreSession, createIdentityStoreSession, createRelationship, createRelationshipName, findIdentityObject, findIdentityObject, findIdentityObject, findIdentityObject, findIdentityObjectByUniqueAttribute, findRelatedIdentityObjects, getAttribute, getAttributesMetaData, getId, getIdentityObjectCount, getIdentityObjectCount, getIdentityObjectsCount, getRelationshipNameProperties, getRelationshipNames, getRelationshipNames, getRelationshipNames, getRelationshipNames, getRelationshipProperties, getRelationshipsCount, getSupportedAttributeNames, getSupportedFeatures, obtainOrCreateContext, removeAttributes, removeIdentityObject, removeRelationship, removeRelationshipName, removeRelationshipNameProperties, removeRelationshipProperties, removeRelationships, resolveRelationships, resolveRelationships, searchLDAP, setRelationshipNameProperties, setRelationshipProperties, toString, updateAttributes, updateCredential, validateCredential
-
Field Details
-
MODIFICATION_DATE_SINCE
- See Also:
-
FAILED_TO_CLOSE_LDAP_CONNECTION_MESSAGE
- See Also:
-
-
Constructor Details
-
ExoLDAPIdentityStoreImpl
-
-
Method Details
-
bootstrap
public void bootstrap(org.picketlink.idm.spi.configuration.IdentityStoreConfigurationContext configurationContext) throws org.picketlink.idm.common.exception.IdentityException - Specified by:
bootstrapin interfaceorg.picketlink.idm.spi.store.IdentityStore- Overrides:
bootstrapin classorg.picketlink.idm.impl.store.ldap.LDAPIdentityStoreImpl- Throws:
org.picketlink.idm.common.exception.IdentityException
-
findIdentityObject
public org.picketlink.idm.spi.model.IdentityObject findIdentityObject(org.picketlink.idm.spi.store.IdentityStoreInvocationContext ctx, String id) throws org.picketlink.idm.common.exception.IdentityException retrieve the ID of the IdentityObject from LDAP according to the customer's configuration (prevent problems when cn is not equal to the uid attribute )- Specified by:
findIdentityObjectin interfaceorg.picketlink.idm.spi.store.IdentityStore- Overrides:
findIdentityObjectin classorg.picketlink.idm.impl.store.ldap.LDAPIdentityStoreImpl- Parameters:
ctx- the IdentityStoreInvocationContextid- the identity- Returns:
- the IdentityObject
- Throws:
org.picketlink.idm.common.exception.IdentityException
-
findIdentityObject
public Collection<org.picketlink.idm.spi.model.IdentityObject> findIdentityObject(org.picketlink.idm.spi.store.IdentityStoreInvocationContext ctx, org.picketlink.idm.spi.model.IdentityObject identity, org.picketlink.idm.spi.model.IdentityObjectRelationshipType relationshipType, Collection<org.picketlink.idm.spi.model.IdentityObjectType> excludes, boolean parent, org.picketlink.idm.spi.search.IdentityObjectSearchCriteria criteria) throws org.picketlink.idm.common.exception.IdentityException To fix the exception encountered when trying to retrieve filtered groups, we verify if findIdentityObject() returns null or not- Specified by:
findIdentityObjectin interfaceorg.picketlink.idm.spi.store.IdentityStore- Overrides:
findIdentityObjectin classorg.picketlink.idm.impl.store.ldap.LDAPIdentityStoreImpl- Parameters:
ctx- the IdentityStoreInvocationContextidentity- the IdentityObjectrelationshipType- the IdentityObjectRelationshipTypeexcludes- the excluded IdentityObjectSearchCriteriaparent- if has parent returns true, else return falsecriteria- the IdentityObjectSearchCriteria- Returns:
- IdentityObject collection
- Throws:
org.picketlink.idm.common.exception.IdentityException
-
findIdentityObject
public Collection<org.picketlink.idm.spi.model.IdentityObject> findIdentityObject(org.picketlink.idm.spi.store.IdentityStoreInvocationContext invocationCtx, org.picketlink.idm.spi.model.IdentityObjectType type, org.picketlink.idm.spi.search.IdentityObjectSearchCriteria criteria) throws org.picketlink.idm.common.exception.IdentityException This is an override of original implementation to be able to query on modification date.- Specified by:
findIdentityObjectin interfaceorg.picketlink.idm.spi.store.IdentityStore- Overrides:
findIdentityObjectin classorg.picketlink.idm.impl.store.ldap.LDAPIdentityStoreImpl- Throws:
org.picketlink.idm.common.exception.IdentityException
-
searchIdentityObjects
public List<org.picketlink.idm.impl.store.ldap.SerializableSearchResult> searchIdentityObjects(org.picketlink.idm.spi.store.IdentityStoreInvocationContext ctx, String[] entryCtxs, String filter, Object[] filterArgs, String[] returningAttributes, String searchScope, Control[] requestControls) throws NamingException, org.picketlink.idm.common.exception.IdentityException - Overrides:
searchIdentityObjectsin classorg.picketlink.idm.impl.store.ldap.LDAPIdentityStoreImpl- Throws:
NamingExceptionorg.picketlink.idm.common.exception.IdentityException
-
getAttributes
public Map<String,org.picketlink.idm.spi.model.IdentityObjectAttribute> getAttributes(org.picketlink.idm.spi.store.IdentityStoreInvocationContext ctx, org.picketlink.idm.spi.model.IdentityObject identity) throws org.picketlink.idm.common.exception.IdentityException - Specified by:
getAttributesin interfaceorg.picketlink.idm.spi.store.AttributeStore- Overrides:
getAttributesin classorg.picketlink.idm.impl.store.ldap.LDAPIdentityStoreImpl- Throws:
org.picketlink.idm.common.exception.IdentityException
-