|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.atlassian.crowd.directory.SpringLDAPConnector com.atlassian.crowd.directory.RFC4519Directory com.atlassian.crowd.directory.MicrosoftActiveDirectory
public class MicrosoftActiveDirectory
Microsoft Active Directory connector.
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 | |
---|---|
MicrosoftActiveDirectory(LDAPQueryTranslater ldapQueryTranslater,
com.atlassian.event.api.EventPublisher eventPublisher,
InstanceFactory instanceFactory)
|
Method Summary | |
---|---|
protected byte[] |
encodePassword(java.lang.String unencodedPassword)
Converts the clear-text password to the { AD_PASSWORD_ENCODED encoding - currently UTF-16LE |
long |
fetchHighestCommittedUSN()
|
java.util.List<LDAPGroupWithAttributes> |
findAddedOrUpdatedGroupsSince(long usnChanged)
|
protected java.util.List |
findAddedOrUpdatedObjectsSince(long usnChange,
javax.naming.Name objectBaseDN,
java.lang.String objectFilter,
org.springframework.ldap.core.ContextMapper contextMapper)
|
java.util.List<LDAPUserWithAttributes> |
findAddedOrUpdatedUsersSince(long usnChange)
|
java.util.List<Tombstone> |
findGroupTombstonesSince(long usnChange)
|
protected java.util.List<Tombstone> |
findTombstonesSince(long usnChange,
javax.naming.Name objectBaseDN,
java.lang.String objectClass)
|
java.util.List<Tombstone> |
findUserTombstonesSince(long usnChange)
|
protected java.util.Map<java.lang.String,java.lang.String> |
getBaseEnvironmentProperties()
Returns the properties used to set up the Ldap ContextSource. |
protected java.util.List<AttributeMapper> |
getCustomGroupAttributeMappers()
As a minimum, this SHOULD provide an attribute mapper that maps the group members attribute (if available). |
protected java.util.List<AttributeMapper> |
getCustomUserAttributeMappers()
|
java.lang.String |
getDescriptiveName()
Returns a descriptive name for the type of directory. |
protected Encoder |
getEncoder()
Returns an Encoder that can correctly escape AD-specific special characters |
protected java.lang.String |
getInitialGroupMemberDN()
AD does not need a default container member. |
protected java.util.List<AttributeMapper> |
getMemberDnMappers()
|
protected void |
getNewGroupDirectorySpecificAttributes(Group group,
javax.naming.directory.Attributes attributes)
If we want to be able to nest groups, we need to create distribution groups rather than security groups. |
protected void |
getNewUserDirectorySpecificAttributes(User user,
javax.naming.directory.Attributes attributes)
Active Directory needs a couple of additional attributes set - the sAMAccountName (which is the account name you use to log on to Windows), and the account disabled flag. |
static java.lang.String |
getStaticDirectoryType()
|
protected java.util.List<LDAPGroupWithAttributes> |
postprocessGroups(java.util.List<LDAPGroupWithAttributes> groups)
Perform any post-processing on groups. |
Methods inherited from class com.atlassian.crowd.directory.RFC4519Directory |
---|
addGroupToGroup, addUserToGroup, isGroupDirectGroupMember, isUserDirectGroupMember, removeGroupFromGroup, removeUserFromGroup, searchGroupRelationshipsWithGroupTypeSpecified |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public MicrosoftActiveDirectory(LDAPQueryTranslater ldapQueryTranslater, com.atlassian.event.api.EventPublisher eventPublisher, InstanceFactory instanceFactory)
Method Detail |
---|
public static java.lang.String getStaticDirectoryType()
public java.lang.String getDescriptiveName()
RemoteDirectory
protected Encoder getEncoder()
getEncoder
in class SpringLDAPConnector
protected java.lang.String getInitialGroupMemberDN()
getInitialGroupMemberDN
in class SpringLDAPConnector
null
.protected byte[] encodePassword(java.lang.String unencodedPassword) throws InvalidCredentialException
AD_PASSWORD_ENCODED
encoding - currently UTF-16LE
encodePassword
in class SpringLDAPConnector
unencodedPassword
-
InvalidCredentialException
- If the specified encoding is not available on this system.protected void getNewUserDirectorySpecificAttributes(User user, javax.naming.directory.Attributes attributes)
getNewUserDirectorySpecificAttributes
in class SpringLDAPConnector
user
- attributes
- protected void getNewGroupDirectorySpecificAttributes(Group group, javax.naming.directory.Attributes attributes)
getNewGroupDirectorySpecificAttributes
in class SpringLDAPConnector
group
- attributes
- protected java.util.List<AttributeMapper> getCustomUserAttributeMappers()
getCustomUserAttributeMappers
in class RFC4519Directory
protected java.util.List<AttributeMapper> getCustomGroupAttributeMappers()
SpringLDAPConnector
getCustomGroupAttributeMappers
in class RFC4519Directory
protected java.util.List<AttributeMapper> getMemberDnMappers()
getMemberDnMappers
in class RFC4519Directory
protected java.util.List<LDAPGroupWithAttributes> postprocessGroups(java.util.List<LDAPGroupWithAttributes> groups)
SpringLDAPConnector
postprocessGroups
in class SpringLDAPConnector
groups
- to post-process
protected java.util.Map<java.lang.String,java.lang.String> getBaseEnvironmentProperties()
SpringLDAPConnector
getBaseEnvironmentProperties
in class SpringLDAPConnector
public long fetchHighestCommittedUSN() throws OperationFailedException
OperationFailedException
public java.util.List<LDAPUserWithAttributes> findAddedOrUpdatedUsersSince(long usnChange) throws OperationFailedException
OperationFailedException
public java.util.List<LDAPGroupWithAttributes> findAddedOrUpdatedGroupsSince(long usnChanged) throws OperationFailedException
OperationFailedException
public java.util.List<Tombstone> findUserTombstonesSince(long usnChange) throws OperationFailedException
OperationFailedException
public java.util.List<Tombstone> findGroupTombstonesSince(long usnChange) throws OperationFailedException
OperationFailedException
protected java.util.List findAddedOrUpdatedObjectsSince(long usnChange, javax.naming.Name objectBaseDN, java.lang.String objectFilter, org.springframework.ldap.core.ContextMapper contextMapper) throws OperationFailedException
OperationFailedException
protected java.util.List<Tombstone> findTombstonesSince(long usnChange, javax.naming.Name objectBaseDN, java.lang.String objectClass) throws OperationFailedException
OperationFailedException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |