|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.atlassian.crowd.directory.SpringLDAPConnector
public abstract class SpringLDAPConnector
This class implements a remote LDAP directory using Spring LdapTemplate.
Warning: CWD-2494: When read timeout is enabled, operations can fail randomly with "javax.naming.NamingException: LDAP response read timed out..." error message without waiting for the timeout to pass.
| Field Summary | |
|---|---|
protected AttributeValuesHolder |
attributes
|
protected org.springframework.ldap.core.ContextSource |
contextSource
|
protected org.springframework.ldap.transaction.compensating.manager.ContextSourceTransactionManager |
contextSourceTransactionManager
|
static int |
DEFAULT_PAGE_SIZE
|
protected com.atlassian.event.api.EventPublisher |
eventPublisher
|
protected LDAPPropertiesMapper |
ldapPropertiesMapper
|
protected LDAPQueryTranslater |
ldapQueryTranslater
|
protected LdapTemplateWithClassLoaderWrapper |
ldapTemplate
|
protected Converter |
nameConverter
|
protected SearchDN |
searchDN
|
| Constructor Summary | |
|---|---|
SpringLDAPConnector(LDAPQueryTranslater ldapQueryTranslater,
com.atlassian.event.api.EventPublisher eventPublisher,
InstanceFactory instanceFactory)
|
|
| Method Summary | ||
|---|---|---|
protected void |
addDefaultSnToUserAttributes(javax.naming.directory.Attributes attrs,
java.lang.String defaultSnValue)
A default install of many directory servers (inc. |
|
protected void |
addDefaultValueToUserAttributesForAttribute(java.lang.String attributeName,
javax.naming.directory.Attributes attrs,
java.lang.String defaultValue)
|
|
Group |
addGroup(GroupTemplate group)
|
|
LDAPUserWithAttributes |
addUser(UserTemplate user,
PasswordCredential credential)
Adds a user to LDAP. |
|
protected javax.naming.ldap.LdapName |
asLdapGroupName(java.lang.String dn,
java.lang.String groupName)
Convenience method to convert group DN to LdapName, throwing a GNFE with the supplied group name if unable to construct the LdapName. |
|
protected
|
asLdapName(java.lang.String dn,
java.lang.String entityName,
java.lang.Class<T> entityClass)
This method is required to wrap DN's into LdapNames as spring-ldap doesn't correctly handle operations with String dn arguments. |
|
protected javax.naming.ldap.LdapName |
asLdapUserName(java.lang.String dn,
java.lang.String userName)
Convenience method to convert user DN to LdapName, throwing a GNFE with the supplied user name if unable to construct the LdapName. |
|
User |
authenticate(java.lang.String name,
PasswordCredential credential)
|
|
protected abstract java.lang.Object |
encodePassword(java.lang.String unencodedPassword)
Given an plain-text password, encodes/encrypts it according to the settings required by the particular directory connector. |
|
|
findEntityByDN(java.lang.String dn,
java.lang.Class<T> entityClass)
Finds a directory entity (principal, group or role) by their distinguished name. |
|
protected
|
findEntityByDN(java.lang.String dn,
java.lang.String baseDN,
java.lang.String filter,
org.springframework.ldap.core.ContextMapper contextMapper,
java.lang.Class<T> entityClass)
|
|
LDAPGroupWithAttributes |
findGroupByName(java.lang.String name)
|
|
protected LDAPGroupWithAttributes |
findGroupByNameAndType(java.lang.String name,
GroupType groupType)
|
|
LDAPGroupWithAttributes |
findGroupWithAttributesByName(java.lang.String name)
|
|
LDAPUserWithAttributes |
findUserByName(java.lang.String name)
|
|
LDAPUserWithAttributes |
findUserWithAttributesByName(java.lang.String name)
|
|
boolean |
getAttributeAsBoolean(java.lang.String name,
boolean defaultValue)
|
|
long |
getAttributeAsLong(java.lang.String name,
long defaultValue)
|
|
RemoteDirectory |
getAuthoritativeDirectory()
|
|
protected java.util.Map<java.lang.String,java.lang.String> |
getBaseEnvironmentProperties()
Returns the properties used to set up the Ldap ContextSource. |
|
org.springframework.ldap.core.ContextSource |
getContextSource()
Exposed so that delegated directories can get a handle on the underlying LDAP context. |
|
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()
|
|
long |
getDirectoryId()
|
|
protected Encoder |
getEncoder()
Returns an Encoder that escapes LDAP special characters for use in object names and in DNs. |
|
org.springframework.ldap.core.ContextMapper |
getGroupContextMapper(GroupType groupType)
Returns a ContextMapper ready to translate LDAP objects into Groups and fetches all member objects. |
|
protected java.lang.String |
getInitialGroupMemberDN()
Returns the default container member DN. |
|
java.util.Set<java.lang.String> |
getKeys()
|
|
LDAPPropertiesMapper |
getLdapPropertiesMapper()
|
|
java.lang.Iterable<Membership> |
getMemberships()
|
|
protected javax.naming.directory.Attributes |
getNewGroupAttributes(Group group)
|
|
protected void |
getNewGroupDirectorySpecificAttributes(Group group,
javax.naming.directory.Attributes attributes)
Populates attributes object with directory-specific attributes. |
|
protected javax.naming.directory.Attributes |
getNewUserAttributes(User user,
PasswordCredential credential)
Translates the User into LDAP attributes, in preparation for creating a new user. |
|
protected void |
getNewUserDirectorySpecificAttributes(User user,
javax.naming.directory.Attributes attributes)
Populates attributes object with directory-specific attributes. |
|
SearchDN |
getSearchDN()
|
|
protected java.lang.String |
getStandardisedDN(javax.naming.Name dn)
|
|
protected javax.naming.directory.SearchControls |
getSubTreeSearchControl()
|
|
org.springframework.ldap.core.ContextMapper |
getUserContextMapper()
Returns a ContextMapper that can transform a Context into a User. |
|
java.lang.String |
getValue(java.lang.String name)
|
|
java.util.Set<java.lang.String> |
getValues(java.lang.String name)
|
|
boolean |
isEmpty()
|
|
boolean |
isRolesDisabled()
|
|
protected org.springframework.ldap.core.CollectingNameClassPairCallbackHandler |
pageSearchResults(javax.naming.Name baseDN,
java.lang.String filter,
org.springframework.ldap.core.ContextMapper contextMapper,
javax.naming.directory.SearchControls searchControls,
org.springframework.ldap.core.DirContextProcessor ldapRequestControls,
int maxResults)
Performs a paged results search on an LDAP directory server searching using the LDAP paged results control option to fetch results in chunks rather than all at once. |
|
protected java.util.List<LDAPGroupWithAttributes> |
postprocessGroups(java.util.List<LDAPGroupWithAttributes> groups)
Perform any post-processing on groups. |
|
void |
removeGroup(java.lang.String name)
|
|
void |
removeGroupAttributes(java.lang.String groupName,
java.lang.String attributeName)
|
|
void |
removeUser(java.lang.String name)
|
|
void |
removeUserAttributes(java.lang.String username,
java.lang.String attributeName)
|
|
Group |
renameGroup(java.lang.String oldName,
java.lang.String newName)
|
|
User |
renameUser(java.lang.String oldName,
java.lang.String newName)
|
|
protected java.util.List |
searchEntities(javax.naming.Name baseDN,
java.lang.String filter,
org.springframework.ldap.core.ContextMapper contextMapper,
int startIndex,
int maxResults)
Executes a search with paging if paged results is supported. |
|
protected java.util.List |
searchEntitiesWithRequestControls(javax.naming.Name baseDN,
java.lang.String filter,
org.springframework.ldap.core.ContextMapper contextMapper,
javax.naming.directory.SearchControls searchControls,
org.springframework.ldap.core.DirContextProcessor ldapRequestControls,
int startIndex,
int maxResults)
|
|
protected java.util.List<LDAPGroupWithAttributes> |
searchGroupObjects(EntityQuery query)
|
|
protected java.util.List<LDAPGroupWithAttributes> |
searchGroupObjectsOfSpecifiedGroupType(EntityQuery query)
This method expects that the query contains a non-null groupType in the entityDescriptor. |
|
|
searchGroupRelationships(MembershipQuery<T> query)
|
|
protected abstract
|
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). |
|
|
searchGroups(EntityQuery<T> query)
|
|
protected java.util.List<LDAPUserWithAttributes> |
searchUserObjects(EntityQuery query)
|
|
|
searchUsers(EntityQuery<T> query)
|
|
void |
setAttributes(java.util.Map<java.lang.String,java.lang.String> attributes)
Called by the DirectoryInstanceLoader after
constructing an InternalDirectory. |
|
void |
setDirectoryId(long id)
Called by the DirectoryInstanceLoader after
constructing an InternalDirectory. |
|
void |
storeGroupAttributes(java.lang.String groupName,
java.util.Map<java.lang.String,java.util.Set<java.lang.String>> attributes)
|
|
void |
storeUserAttributes(java.lang.String username,
java.util.Map<java.lang.String,java.util.Set<java.lang.String>> attributes)
|
|
boolean |
supportsInactiveAccounts()
Storing active/inactive flag for users in LDAP is currently not supported. |
|
boolean |
supportsNestedGroups()
|
|
void |
testConnection()
|
|
protected
|
typedEntityNotFoundException(java.lang.String name,
java.lang.Class<T> entityClass)
|
|
Group |
updateGroup(GroupTemplate group)
|
|
User |
updateUser(UserTemplate user)
|
|
void |
updateUserCredential(java.lang.String name,
PasswordCredential credential)
|
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface com.atlassian.crowd.directory.RemoteDirectory |
|---|
addGroupToGroup, addUserToGroup, getDescriptiveName, isGroupDirectGroupMember, isUserDirectGroupMember, removeGroupFromGroup, removeUserFromGroup |
| Field Detail |
|---|
public static final int DEFAULT_PAGE_SIZE
protected volatile AttributeValuesHolder attributes
protected volatile LdapTemplateWithClassLoaderWrapper ldapTemplate
protected volatile org.springframework.ldap.core.ContextSource contextSource
protected volatile Converter nameConverter
protected volatile SearchDN searchDN
protected volatile LDAPPropertiesMapper ldapPropertiesMapper
protected volatile org.springframework.ldap.transaction.compensating.manager.ContextSourceTransactionManager contextSourceTransactionManager
protected final LDAPQueryTranslater ldapQueryTranslater
protected final com.atlassian.event.api.EventPublisher eventPublisher
| Constructor Detail |
|---|
public SpringLDAPConnector(LDAPQueryTranslater ldapQueryTranslater,
com.atlassian.event.api.EventPublisher eventPublisher,
InstanceFactory instanceFactory)
| Method Detail |
|---|
public long getDirectoryId()
getDirectoryId in interface RemoteDirectorypublic void setDirectoryId(long id)
DirectoryInstanceLoader after
constructing an InternalDirectory.
setDirectoryId in interface RemoteDirectoryid - The unique id of the Directory stored in the database.public void setAttributes(java.util.Map<java.lang.String,java.lang.String> attributes)
DirectoryInstanceLoader after
constructing an InternalDirectory.
setAttributes in interface RemoteDirectoryattributes - attributes map.public org.springframework.ldap.core.ContextSource getContextSource()
public LDAPPropertiesMapper getLdapPropertiesMapper()
public java.util.Set<java.lang.String> getValues(java.lang.String name)
getValues in interface Attributespublic java.lang.String getValue(java.lang.String name)
getValue in interface Attributespublic boolean isEmpty()
isEmpty in interface Attributes
public long getAttributeAsLong(java.lang.String name,
long defaultValue)
public boolean getAttributeAsBoolean(java.lang.String name,
boolean defaultValue)
public java.util.Set<java.lang.String> getKeys()
getKeys in interface Attributespublic SearchDN getSearchDN()
protected javax.naming.directory.SearchControls getSubTreeSearchControl()
protected Encoder getEncoder()
protected java.util.Map<java.lang.String,java.lang.String> getBaseEnvironmentProperties()
protected org.springframework.ldap.core.CollectingNameClassPairCallbackHandler pageSearchResults(javax.naming.Name baseDN,
java.lang.String filter,
org.springframework.ldap.core.ContextMapper contextMapper,
javax.naming.directory.SearchControls searchControls,
org.springframework.ldap.core.DirContextProcessor ldapRequestControls,
int maxResults)
throws OperationFailedException
baseDN - The DN to beging the search from.filter - The search filter.contextMapper - Maps from LDAP search results into objects such as Groups.searchControls - The LDAP search scope type.ldapRequestControls - Any LDAP request controls (set to null if you do not need additional request controls for the search).maxResults - maximum number of results to return. Set to -1 if no result limiting is desired (WARNING: doing so is obviously a hazard).
OperationFailedException - Search failed due to a communication error to the remote directory
protected java.util.List searchEntities(javax.naming.Name baseDN,
java.lang.String filter,
org.springframework.ldap.core.ContextMapper contextMapper,
int startIndex,
int maxResults)
throws OperationFailedException
baseDN - base DN of search.filter - encoded LDAP search filter.contextMapper - directory context to object mapper.startIndex - index to start at. Set to 0 to start from the first result.maxResults - maximum number of results to return. Set to -1 if no result limiting is desired (WARNING: doing so is obviously a hazard).
OperationFailedException - a Communication error occurred when trying to talk to a remote directory
protected java.util.List searchEntitiesWithRequestControls(javax.naming.Name baseDN,
java.lang.String filter,
org.springframework.ldap.core.ContextMapper contextMapper,
javax.naming.directory.SearchControls searchControls,
org.springframework.ldap.core.DirContextProcessor ldapRequestControls,
int startIndex,
int maxResults)
throws OperationFailedException
OperationFailedExceptionpublic org.springframework.ldap.core.ContextMapper getUserContextMapper()
protected java.util.List<AttributeMapper> getCustomUserAttributeMappers()
public org.springframework.ldap.core.ContextMapper getGroupContextMapper(GroupType groupType)
groupType - the GroupType
protected java.util.List<AttributeMapper> getCustomGroupAttributeMappers()
public LDAPUserWithAttributes findUserByName(java.lang.String name)
throws UserNotFoundException,
OperationFailedException
findUserByName in interface RemoteDirectoryUserNotFoundException
OperationFailedException
public LDAPUserWithAttributes findUserWithAttributesByName(java.lang.String name)
throws UserNotFoundException,
OperationFailedException
findUserWithAttributesByName in interface RemoteDirectoryUserNotFoundException
OperationFailedException
protected java.util.List<LDAPUserWithAttributes> searchUserObjects(EntityQuery query)
throws OperationFailedException,
java.lang.IllegalArgumentException
OperationFailedException
java.lang.IllegalArgumentException
public void removeUser(java.lang.String name)
throws UserNotFoundException,
OperationFailedException
removeUser in interface RemoteDirectoryUserNotFoundException
OperationFailedException
public void updateUserCredential(java.lang.String name,
PasswordCredential credential)
throws InvalidCredentialException,
UserNotFoundException,
OperationFailedException
updateUserCredential in interface RemoteDirectoryInvalidCredentialException
UserNotFoundException
OperationFailedException
public User renameUser(java.lang.String oldName,
java.lang.String newName)
throws UserNotFoundException,
InvalidUserException,
OperationFailedException
renameUser in interface RemoteDirectoryUserNotFoundException
InvalidUserException
OperationFailedException
public void storeUserAttributes(java.lang.String username,
java.util.Map<java.lang.String,java.util.Set<java.lang.String>> attributes)
throws UserNotFoundException,
OperationFailedException
storeUserAttributes in interface RemoteDirectoryUserNotFoundException
OperationFailedException
public void removeUserAttributes(java.lang.String username,
java.lang.String attributeName)
throws UserNotFoundException,
OperationFailedException
removeUserAttributes in interface RemoteDirectoryUserNotFoundException
OperationFailedException
protected javax.naming.directory.Attributes getNewUserAttributes(User user,
PasswordCredential credential)
throws InvalidCredentialException,
org.springframework.ldap.NamingException
User into LDAP attributes, in preparation for creating a new user.
user - The user object to translate into LDAP attributescredential - raw password.
InvalidCredentialException - The password, if supplied, was invalid in some manner.
org.springframework.ldap.NamingException - If the User could not be translated to an Attributes
protected void getNewUserDirectorySpecificAttributes(User user,
javax.naming.directory.Attributes attributes)
user - (potential) source of information that needs to be added.attributes - attributes to add directory-specific information to.
public LDAPUserWithAttributes addUser(UserTemplate user,
PasswordCredential credential)
throws InvalidUserException,
InvalidCredentialException,
OperationFailedException
addUser in interface RemoteDirectoryuser - template of the user to add.credential - password.
InvalidUserException - if the user to create was deemed invalid by the LDAP server or already exists.
InvalidCredentialException - if the password credential was deemed invalid by the password encoder.
OperationFailedException - if we were unable to add the user to LDAP.
protected void addDefaultSnToUserAttributes(javax.naming.directory.Attributes attrs,
java.lang.String defaultSnValue)
sn if it's not present in the
information provided.
attrs - The LDAP user attributes to be checked and potentially updated.defaultSnValue - default lastname/surname value
protected void addDefaultValueToUserAttributesForAttribute(java.lang.String attributeName,
javax.naming.directory.Attributes attrs,
java.lang.String defaultValue)
public <T extends LDAPDirectoryEntity> T findEntityByDN(java.lang.String dn,
java.lang.Class<T> entityClass)
throws UserNotFoundException,
GroupNotFoundException,
OperationFailedException
LDAPDirectory
findEntityByDN in interface LDAPDirectorydn - standardised distinguished name.entityClass - class of the entity to find (either LDAPUserWithAttributes or LDAPGroupWithAttributes).
UserNotFoundException - if a user
does not exist at the specified DN or the DN does not
exist in the directory. This will also be thrown if
the entity DOES exist but does not match the base DN
or object filter for the entity type.
GroupNotFoundException - if a user
does not exist at the specified DN or the DN does not
exist in the directory. This will also be thrown if
the entity DOES exist but does not match the base DN
or object filter for the entity type.
OperationFailedException - if underlying directory implementation failed to execute the operation.
protected <T extends LDAPDirectoryEntity> java.lang.RuntimeException typedEntityNotFoundException(java.lang.String name,
java.lang.Class<T> entityClass)
throws UserNotFoundException,
GroupNotFoundException
UserNotFoundException
GroupNotFoundException
protected <T extends LDAPDirectoryEntity> T findEntityByDN(java.lang.String dn,
java.lang.String baseDN,
java.lang.String filter,
org.springframework.ldap.core.ContextMapper contextMapper,
java.lang.Class<T> entityClass)
throws UserNotFoundException,
GroupNotFoundException,
OperationFailedException
UserNotFoundException
GroupNotFoundException
OperationFailedException
public User updateUser(UserTemplate user)
throws UserNotFoundException,
OperationFailedException
updateUser in interface RemoteDirectoryUserNotFoundException
OperationFailedException
public <T> java.util.List<T> searchUsers(EntityQuery<T> query)
throws OperationFailedException
searchUsers in interface RemoteDirectoryOperationFailedException
public User authenticate(java.lang.String name,
PasswordCredential credential)
throws InvalidAuthenticationException,
UserNotFoundException,
OperationFailedException
authenticate in interface RemoteDirectoryInvalidAuthenticationException
UserNotFoundException
OperationFailedException
public LDAPGroupWithAttributes findGroupByName(java.lang.String name)
throws GroupNotFoundException,
OperationFailedException
findGroupByName in interface RemoteDirectoryGroupNotFoundException
OperationFailedException
public LDAPGroupWithAttributes findGroupWithAttributesByName(java.lang.String name)
throws GroupNotFoundException,
OperationFailedException
findGroupWithAttributesByName in interface RemoteDirectoryGroupNotFoundException
OperationFailedException
protected LDAPGroupWithAttributes findGroupByNameAndType(java.lang.String name,
GroupType groupType)
throws GroupNotFoundException,
OperationFailedException
GroupNotFoundException
OperationFailedException
protected java.util.List<LDAPGroupWithAttributes> searchGroupObjectsOfSpecifiedGroupType(EntityQuery query)
throws OperationFailedException
query - search query.
OperationFailedException - represents a Communication error when trying to talk to a remote directory
protected java.util.List<LDAPGroupWithAttributes> searchGroupObjects(EntityQuery query)
throws OperationFailedException
OperationFailedException
public <T> java.util.List<T> searchGroups(EntityQuery<T> query)
throws OperationFailedException
searchGroups in interface RemoteDirectoryOperationFailedExceptionprotected java.util.List<LDAPGroupWithAttributes> postprocessGroups(java.util.List<LDAPGroupWithAttributes> groups)
groups - to post-process
protected javax.naming.directory.Attributes getNewGroupAttributes(Group group)
throws org.springframework.ldap.NamingException
org.springframework.ldap.NamingException
protected void getNewGroupDirectorySpecificAttributes(Group group,
javax.naming.directory.Attributes attributes)
group - (potential) source of information that needs to be added.attributes - attributes to add directory-specific information to.protected java.lang.String getInitialGroupMemberDN()
public Group addGroup(GroupTemplate group)
throws InvalidGroupException,
OperationFailedException
addGroup in interface RemoteDirectoryInvalidGroupException
OperationFailedException
public Group updateGroup(GroupTemplate group)
throws GroupNotFoundException,
OperationFailedException
updateGroup in interface RemoteDirectoryGroupNotFoundException
OperationFailedException
public void removeGroup(java.lang.String name)
throws GroupNotFoundException,
OperationFailedException
removeGroup in interface RemoteDirectoryGroupNotFoundException
OperationFailedException
public Group renameGroup(java.lang.String oldName,
java.lang.String newName)
throws GroupNotFoundException,
InvalidGroupException,
OperationFailedException
renameGroup in interface RemoteDirectoryGroupNotFoundException
InvalidGroupException
OperationFailedException
public void storeGroupAttributes(java.lang.String groupName,
java.util.Map<java.lang.String,java.util.Set<java.lang.String>> attributes)
throws GroupNotFoundException,
OperationFailedException
storeGroupAttributes in interface RemoteDirectoryGroupNotFoundException
OperationFailedException
public void removeGroupAttributes(java.lang.String groupName,
java.lang.String attributeName)
throws GroupNotFoundException,
OperationFailedException
removeGroupAttributes in interface RemoteDirectoryGroupNotFoundException
OperationFailedException
public <T> java.util.List<T> searchGroupRelationships(MembershipQuery<T> query)
throws OperationFailedException
searchGroupRelationships in interface RemoteDirectoryOperationFailedException
protected abstract <T> java.util.List<T> searchGroupRelationshipsWithGroupTypeSpecified(MembershipQuery<T> query)
throws OperationFailedException
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 invalid
protected abstract java.lang.Object encodePassword(java.lang.String unencodedPassword)
throws InvalidCredentialException
unencodedPassword - The password to be transformed
InvalidCredentialException - If the password could not be converted.public boolean supportsNestedGroups()
supportsNestedGroups in interface RemoteDirectorypublic boolean isRolesDisabled()
isRolesDisabled in interface RemoteDirectory
public void testConnection()
throws OperationFailedException
testConnection in interface RemoteDirectoryOperationFailedException
protected java.lang.String getStandardisedDN(javax.naming.Name dn)
throws OperationFailedException
OperationFailedException
protected <T extends LDAPDirectoryEntity> javax.naming.ldap.LdapName asLdapName(java.lang.String dn,
java.lang.String entityName,
java.lang.Class<T> entityClass)
throws UserNotFoundException,
GroupNotFoundException
dn - string version of DN.entityName - used if NotFoundException needs to be thrown.entityClass - in case there is a problem converting the dn into an LdapName a NotFoundException of this type (group/user) will be thrown.
Must implement User or Group, otherwise an IllegalArgumentException will be thrown.
UserNotFoundException - unable to construct LdapName for User.
GroupNotFoundException - unable to construct LdapName for Group.
protected javax.naming.ldap.LdapName asLdapGroupName(java.lang.String dn,
java.lang.String groupName)
throws GroupNotFoundException
dn - DN of the Group.groupName - for GNFE exception.
GroupNotFoundException - unable to construct LdapName.
protected javax.naming.ldap.LdapName asLdapUserName(java.lang.String dn,
java.lang.String userName)
throws UserNotFoundException
dn - DN of the User.userName - for GNFE exception.
UserNotFoundException - unable to construct LdapName.public boolean supportsInactiveAccounts()
supportsInactiveAccounts in interface RemoteDirectorypublic RemoteDirectory getAuthoritativeDirectory()
getAuthoritativeDirectory in interface RemoteDirectory
public java.lang.Iterable<Membership> getMemberships()
throws OperationFailedException
getMemberships in interface RemoteDirectoryOperationFailedException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||