Package com.atlassian.crowd.directory
Class AppleOpenDirectory
java.lang.Object
com.atlassian.crowd.directory.SpringLDAPConnector
com.atlassian.crowd.directory.RFC2307Directory
com.atlassian.crowd.directory.Rfc2307
com.atlassian.crowd.directory.AppleOpenDirectory
- All Implemented Interfaces:
LDAPDirectory,RemoteDirectory,Attributes
Provides limited support for Apple's Open Directory. It's a customised version of OpenLDAP, using an RFC230-alike
schema.
It has some quirks, and is not particularly well documented. We've been unable to determine exactly how to change user passwords.
-
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
ConstructorsConstructorDescriptionAppleOpenDirectory(LDAPQueryTranslater ldapQueryTranslater, com.atlassian.event.api.EventPublisher eventPublisher, InstanceFactory instanceFactory, PasswordEncoderFactory passwordEncoderFactory, LdapContextSourceProvider ldapContextSourceProvider) -
Method Summary
Modifier and TypeMethodDescriptionReturns the properties used to set up the Ldap ContextSource.static StringvoidupdateUserCredential(String name, PasswordCredential credential) We don't support changing passwords in Open Directory, mainly because we can't figure out how.Methods inherited from class com.atlassian.crowd.directory.Rfc2307
addGroup, addGroupToGroup, addUser, addUser, addUserToGroup, getCredentialEncoder, getNewUserDirectorySpecificAttributes, removeGroup, removeGroupFromGroup, removeUser, removeUserFromGroup, renameGroup, renameUser, updateGroup, updateUserMethods inherited from class com.atlassian.crowd.directory.RFC2307Directory
getCustomGroupAttributeMappers, getCustomUserAttributeMappers, getMemberOnlyGroupAttributeMappers, getMemberships, isGroupDirectGroupMember, isUserDirectGroupMember, searchGroupRelationshipsWithGroupTypeSpecified, supportsNestedGroups, supportsPasswordExpirationMethods inherited from class com.atlassian.crowd.directory.SpringLDAPConnector
addDefaultSnToUserAttributes, addDefaultValueToUserAttributesForAttribute, authenticate, avatarMapper, countDirectMembersOfGroup, createModificationItem, expireAllPasswords, findEntityByDN, findEntityByDN, findEntityByDN, findGroupByName, findGroupByNameAndType, findGroupWithAttributesByName, findUserByExternalId, findUserByName, findUserWithAttributesByName, getAttributeAsBoolean, getAttributeAsLong, getAuthoritativeDirectory, getContextSource, getDirectoryId, getGroupContextMapper, getGroupContextMapper, getInitialGroupMemberDN, getKeys, getLdapPropertiesMapper, getNewGroupAttributes, getNewGroupDirectorySpecificAttributes, getNewUserAttributes, getRequiredCustomGroupAttributeMappers, getSearchControls, getSearchDN, getUserAvatarByName, getUserModificationItems, getValue, getValues, isEmpty, isRolesDisabled, pageSearchResults, postprocessGroup, postprocessGroups, removeGroupAttributes, removeUserAttributes, searchEntities, searchEntitiesWithRequestControls, searchGroupObjects, searchGroupObjectsOfSpecifiedGroupType, searchGroupRelationships, searchGroups, searchUserObjects, searchUsers, searchUsers, setAttributes, setDirectoryId, setLdapPropertiesMapperAttributes, storeGroupAttributes, storeUserAttributes, supportsInactiveAccounts, supportsSettingEncryptedCredential, testConnection, typedEntityNotFoundExceptionMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.atlassian.crowd.directory.RemoteDirectory
getLocallyFilteredGroupNames, updateUserFromRemoteDirectory, userAuthenticated
-
Constructor Details
-
AppleOpenDirectory
public AppleOpenDirectory(LDAPQueryTranslater ldapQueryTranslater, com.atlassian.event.api.EventPublisher eventPublisher, InstanceFactory instanceFactory, PasswordEncoderFactory passwordEncoderFactory, LdapContextSourceProvider ldapContextSourceProvider)
-
-
Method Details
-
getStaticDirectoryType
-
getDescriptiveName
- Specified by:
getDescriptiveNamein interfaceRemoteDirectory- Overrides:
getDescriptiveNamein classRfc2307
-
getBaseEnvironmentProperties
Returns the properties used to set up the Ldap ContextSource. Overridden to make sure CRAM-MD5 is used for authentication - for security reasons, Open Directory does not support Simple Authentication.- Overrides:
getBaseEnvironmentPropertiesin classSpringLDAPConnector- Returns:
- the properties used to set up the Ldap ContextSource.
-
updateUserCredential
public void updateUserCredential(String name, PasswordCredential credential) throws UserNotFoundException, InvalidCredentialException We don't support changing passwords in Open Directory, mainly because we can't figure out how.- Specified by:
updateUserCredentialin interfaceRemoteDirectory- Overrides:
updateUserCredentialin classSpringLDAPConnector- Throws:
UserNotFoundExceptionInvalidCredentialException
-