public abstract class RFC2307Directory extends SpringLDAPConnector
RFC2307GidNumberMapper
,
RFC2307MemberUidMapper
attributes, contextSource, contextSourceTransactionManager, DEFAULT_PAGE_SIZE, eventPublisher, ldapPropertiesMapper, ldapQueryTranslater, ldapTemplate, nameConverter, searchDN
Constructor and Description |
---|
RFC2307Directory(LDAPQueryTranslater ldapQueryTranslater,
com.atlassian.event.api.EventPublisher eventPublisher,
InstanceFactory instanceFactory) |
Modifier and Type | Method and Description |
---|---|
protected List<AttributeMapper> |
getCustomGroupAttributeMappers()
As a minimum, this SHOULD provide an attribute mapper that maps the group members attribute (if available).
|
protected List<AttributeMapper> |
getCustomUserAttributeMappers() |
Iterable<Membership> |
getMemberships()
Get an iterable view of the available group memberships.
|
boolean |
isGroupDirectGroupMember(String childGroup,
String parentGroup)
Determines if a group is a direct member of another group.
|
boolean |
isUserDirectGroupMember(String username,
String groupName)
Determines if a user is a direct member of a group.
|
protected <T> Iterable<T> |
searchGroupRelationshipsWithGroupTypeSpecified(MembershipQuery<T> query)
Execute the search for group relationships given that a group of type GROUP or LEGACY_ROLE has
been specified in the EntityDescriptor for the group(s).
|
boolean |
supportsNestedGroups()
As best I can determine, the RFC2307 schema does not support nested groups.
|
addDefaultSnToUserAttributes, addDefaultValueToUserAttributesForAttribute, addGroup, addUser, asLdapGroupName, asLdapName, asLdapUserName, authenticate, encodePassword, findEntityByDN, findEntityByDN, findGroupByName, findGroupByNameAndType, findGroupWithAttributesByName, findUserByName, findUserWithAttributesByName, getAttributeAsBoolean, getAttributeAsLong, getAuthoritativeDirectory, getBaseEnvironmentProperties, getContextSource, getDirectoryId, getGroupContextMapper, getInitialGroupMemberDN, getKeys, getLdapPropertiesMapper, getNewGroupAttributes, getNewGroupDirectorySpecificAttributes, getNewUserAttributes, getNewUserDirectorySpecificAttributes, getSearchDN, getStandardisedDN, getSubTreeSearchControls, getUserContextMapper, getValue, getValues, isEmpty, isRolesDisabled, pageSearchResults, postprocessGroups, removeGroup, removeGroupAttributes, removeUser, removeUserAttributes, renameGroup, renameUser, searchEntities, searchEntitiesWithRequestControls, searchGroupObjects, searchGroupObjectsOfSpecifiedGroupType, searchGroupRelationships, searchGroups, searchUserObjects, searchUsers, setAttributes, setDirectoryId, storeGroupAttributes, storeUserAttributes, supportsInactiveAccounts, testConnection, typedEntityNotFoundException, updateGroup, updateUser, updateUserCredential
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addGroupToGroup, addUserToGroup, getDescriptiveName, removeGroupFromGroup, removeUserFromGroup
public RFC2307Directory(LDAPQueryTranslater ldapQueryTranslater, com.atlassian.event.api.EventPublisher eventPublisher, InstanceFactory instanceFactory)
protected List<AttributeMapper> getCustomGroupAttributeMappers()
SpringLDAPConnector
getCustomGroupAttributeMappers
in class SpringLDAPConnector
protected List<AttributeMapper> getCustomUserAttributeMappers()
getCustomUserAttributeMappers
in class SpringLDAPConnector
public boolean isUserDirectGroupMember(String username, String groupName) throws OperationFailedException
RemoteDirectory
username
- name of user.groupName
- name of group.true
iff the user is a direct member of the group.OperationFailedException
- underlying directory implementation failed to execute the operation.public boolean isGroupDirectGroupMember(String childGroup, String parentGroup)
RemoteDirectory
childGroup
- name of child group.parentGroup
- name of parent group.false
as nested groups are not supported.protected <T> Iterable<T> searchGroupRelationshipsWithGroupTypeSpecified(MembershipQuery<T> query) throws OperationFailedException
SpringLDAPConnector
searchGroupRelationshipsWithGroupTypeSpecified
in class SpringLDAPConnector
query
- membership query with all GroupType's not null.OperationFailedException
- if the operation failed due to a communication error with the remote directory,
or if the query is invalidpublic boolean supportsNestedGroups()
supportsNestedGroups
in interface RemoteDirectory
supportsNestedGroups
in class SpringLDAPConnector
false
.public Iterable<Membership> getMemberships() throws OperationFailedException
RemoteDirectory
Get an iterable view of the available group memberships. This may be implemented as a single remote call or separate calls, depending on the directory.
If there is a failure in the underlying retrieval, the iterator may throw
Membership.MembershipIterationException
at runtime.
If the directory does not have a bulk call interface then a typical implementation would be:
return new DirectoryMembershipsIterable(this);
OperationFailedException
- if the underlying directory implementation failed to execute the operationCopyright © 2013 Atlassian. All Rights Reserved.