com.atlassian.crowd.directory
Class ApacheDS15

java.lang.Object
  extended by com.atlassian.crowd.directory.SpringLDAPConnector
      extended by com.atlassian.crowd.directory.RFC4519Directory
          extended by com.atlassian.crowd.directory.ApacheDS
              extended by com.atlassian.crowd.directory.ApacheDS15
All Implemented Interfaces:
LDAPDirectory, RemoteDirectory, Attributes
Direct Known Subclasses:
LdapDirectoryMappersWithRequiredAttributesTest.DirectoryWithCustomAttributeMapper, LdapDirectoryMappersWithRequiredAttributesTest.DirectoryWithCustomAttributeMapperThatRequestsAllFields, LdapDirectoryMappersWithRequiredAttributesTest.DirectoryWithCustomAttributeMapperWithoutRequiredFields

public class ApacheDS15
extends ApacheDS


Field Summary
 
Fields inherited from class com.atlassian.crowd.directory.SpringLDAPConnector
attributes, contextSource, contextSourceTransactionManager, DEFAULT_PAGE_SIZE, eventPublisher, ldapPropertiesMapper, ldapQueryTranslater, ldapTemplate, nameConverter, searchDN
 
Constructor Summary
ApacheDS15(LDAPQueryTranslater ldapQueryTranslater, com.atlassian.event.api.EventPublisher eventPublisher, InstanceFactory instanceFactory, PasswordEncoderFactory passwordEncoderFactory)
           
 
Method Summary
protected  org.springframework.ldap.core.LdapTemplate createChangeListenerTemplate()
           
protected  String encodePassword(PasswordCredential passwordCredential)
          Translates a clear-text password into an encrypted one if it isn't already encrypted, using the encryption method specified by the directory settings.
 String getDescriptiveName()
          Returns a descriptive name for the type of directory.
protected  String getInitialGroupMemberDN()
          ApacheDS 1.5.x requires a non-blank uniqueMember when adding a group.
protected  void getNewUserDirectorySpecificAttributes(User user, Attributes attributes)
          ApacheDS in a default install requires the sn to be set before a user can be created.
static String getStaticDirectoryType()
           
 
Methods inherited from class com.atlassian.crowd.directory.RFC4519Directory
addDnToGroup, addGroupToGroup, addUserToGroup, findDirectMembersOfGroup, findGroupMembershipNames, findGroupMemberships, findGroupMembershipsOfUserViaMemberOf, findUserMembersOfGroupViaMemberDN, findUserMembersOfGroupViaMemberOf, getCustomGroupAttributeMappers, getCustomUserAttributeMappers, getLdapName, getMemberDnMappers, getMemberships, isDnDirectGroupMember, isGroupDirectGroupMember, isUserDirectGroupMember, removeDnFromGroup, removeGroupFromGroup, removeUserFromGroup, searchGroupRelationshipsWithGroupTypeSpecified, toGenericIterable
 
Methods inherited from class com.atlassian.crowd.directory.SpringLDAPConnector
addDefaultSnToUserAttributes, addDefaultValueToUserAttributesForAttribute, addGroup, addUser, asLdapGroupName, asLdapName, asLdapUserName, authenticate, createModificationItem, findEntityByDN, findEntityByDN, findGroupByName, findGroupByNameAndType, findGroupWithAttributesByName, findUserByExternalId, findUserByName, findUserWithAttributesByName, getAttributeAsBoolean, getAttributeAsLong, getAuthoritativeDirectory, getBaseEnvironmentProperties, getContextSource, getDirectoryId, getGroupContextMapper, getKeys, getLdapPropertiesMapper, getNewGroupAttributes, getNewGroupDirectorySpecificAttributes, getNewUserAttributes, getSearchDN, getStandardisedDN, getSubTreeSearchControls, getUserContextMapper, getUserModificationItems, 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, supportsNestedGroups, testConnection, typedEntityNotFoundException, updateGroup, updateUser, updateUserCredential
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ApacheDS15

public ApacheDS15(LDAPQueryTranslater ldapQueryTranslater,
                  com.atlassian.event.api.EventPublisher eventPublisher,
                  InstanceFactory instanceFactory,
                  PasswordEncoderFactory passwordEncoderFactory)
Method Detail

getStaticDirectoryType

public static String getStaticDirectoryType()

getDescriptiveName

public String getDescriptiveName()
Description copied from interface: RemoteDirectory
Returns a descriptive name for the type of directory.

Specified by:
getDescriptiveName in interface RemoteDirectory
Overrides:
getDescriptiveName in class ApacheDS
Returns:
descriptive name.

getInitialGroupMemberDN

protected String getInitialGroupMemberDN()
ApacheDS 1.5.x requires a non-blank uniqueMember when adding a group. The bind user (usually the admin user) is added as a member of the group.

Overrides:
getInitialGroupMemberDN in class SpringLDAPConnector
Returns:
bind user DN.

getNewUserDirectorySpecificAttributes

protected void getNewUserDirectorySpecificAttributes(User user,
                                                     Attributes attributes)
ApacheDS in a default install requires the sn to be set before a user can be created.

Overrides:
getNewUserDirectorySpecificAttributes in class ApacheDS
Parameters:
user - user to add
attributes - representing the user

createChangeListenerTemplate

protected org.springframework.ldap.core.LdapTemplate createChangeListenerTemplate()

encodePassword

protected String encodePassword(PasswordCredential passwordCredential)
Translates a clear-text password into an encrypted one if it isn't already encrypted, using the encryption method specified by the directory settings.

Specified by:
encodePassword in class SpringLDAPConnector
Parameters:
passwordCredential - The password credential to be encoded, guaranteed to be non-null. If the subclass supports encrypting the given passwordCredential, it should NOT do so if PasswordCredential.isEncryptedCredential() returns true (although it may still encode the credential to the format required by the directory). The value of PasswordCredential.getCredential() is also guaranteed to be non-null.
Returns:
An encoded password, suitable for passing to the directory.
Throws:
PasswordEncoderNotFoundException - (runtime exception) if the encoder for the specified encryption method cannot be found


Copyright © 2014 Atlassian. All Rights Reserved.