|
||||||||||
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
public abstract class RFC4519Directory
Read-write, nesting-aware implementation of RFC4519 user-group membership interactions.
A user is a member of a group if either: - the DN of user is present in the collection of member attribute values of the group - the user has a memberOf attribute which contains the DN of the group (must be enabled via LDAPPropertiesMapper)
RFC2307GidNumberMapper
,
RFC2307MemberUidMapper
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 | |
---|---|
RFC4519Directory(LDAPQueryTranslater ldapQueryTranslater,
com.atlassian.event.api.EventPublisher eventPublisher,
InstanceFactory instanceFactory)
|
Method Summary | ||
---|---|---|
void |
addGroupToGroup(java.lang.String childGroup,
java.lang.String parentGroup)
Adds a group as a member of a parent group. |
|
void |
addUserToGroup(java.lang.String username,
java.lang.String groupName)
Adds a user as a member of a group. |
|
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()
|
|
protected java.util.List<AttributeMapper> |
getMemberDnMappers()
|
|
boolean |
isGroupDirectGroupMember(java.lang.String childGroup,
java.lang.String parentGroup)
Determines if a group is a direct member of another group. |
|
boolean |
isUserDirectGroupMember(java.lang.String username,
java.lang.String groupName)
Determines if a user is a direct member of a group. |
|
void |
removeGroupFromGroup(java.lang.String childGroup,
java.lang.String parentGroup)
Removes a group as a member of a parent group. |
|
void |
removeUserFromGroup(java.lang.String username,
java.lang.String groupName)
Removes a user as a member of a group. |
|
protected
|
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). |
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 |
---|
getDescriptiveName |
Constructor Detail |
---|
public RFC4519Directory(LDAPQueryTranslater ldapQueryTranslater, com.atlassian.event.api.EventPublisher eventPublisher, InstanceFactory instanceFactory)
Method Detail |
---|
protected java.util.List<AttributeMapper> getCustomGroupAttributeMappers()
SpringLDAPConnector
getCustomGroupAttributeMappers
in class SpringLDAPConnector
protected java.util.List<AttributeMapper> getMemberDnMappers()
protected java.util.List<AttributeMapper> getCustomUserAttributeMappers()
getCustomUserAttributeMappers
in class SpringLDAPConnector
public boolean isUserDirectGroupMember(java.lang.String username, java.lang.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(java.lang.String childGroup, java.lang.String parentGroup) throws OperationFailedException
RemoteDirectory
childGroup
- name of child group.parentGroup
- name of parent group.
true
iff the childGroup is a direct member of the parentGroup.
OperationFailedException
- underlying directory implementation failed to execute the operation.public void addUserToGroup(java.lang.String username, java.lang.String groupName) throws GroupNotFoundException, OperationFailedException
RemoteDirectory
childGroup
will
appear as members of parentGroup
to querying applications.
username
- The user that will become a member of groupName
groupName
- The group that will gain a new member.
GroupNotFoundException
- If the group cannot be found.
OperationFailedException
- underlying directory implementation failed to execute the operation.public void addGroupToGroup(java.lang.String childGroup, java.lang.String parentGroup) throws GroupNotFoundException, InvalidMembershipException, OperationFailedException
RemoteDirectory
childGroup
- The group that will become a member of parentGroup
parentGroup
- The group that will gain a new member
GroupNotFoundException
- One or both of the groups cannot be found.
InvalidMembershipException
- if the childGroup and parentGroup exist but are of different GroupTypes.
OperationFailedException
- underlying directory implementation failed to execute the operation.public void removeUserFromGroup(java.lang.String username, java.lang.String groupName) throws UserNotFoundException, GroupNotFoundException, MembershipNotFoundException, OperationFailedException
RemoteDirectory
username
- The user that will be removed from parentGroup
groupName
- The group that will lose the member.
UserNotFoundException
- If the user cannot be found.
GroupNotFoundException
- If the group cannot be found.
MembershipNotFoundException
- if the user is not a direct member of the group.
OperationFailedException
- underlying directory implementation failed to execute the operation.public void removeGroupFromGroup(java.lang.String childGroup, java.lang.String parentGroup) throws GroupNotFoundException, MembershipNotFoundException, InvalidMembershipException, OperationFailedException
RemoteDirectory
childGroup
- The group that will be removed from parentGroup
parentGroup
- The group that will lose the member.
GroupNotFoundException
- One or both of the groups cannot be found.
MembershipNotFoundException
- if the childGroup is not a direct member of the parentGroup.
InvalidMembershipException
- if the childGroup and parentGroup exist but are of different GroupTypes.
OperationFailedException
- underlying directory implementation failed to execute the operation.protected <T> java.util.List<T> searchGroupRelationshipsWithGroupTypeSpecified(MembershipQuery<T> query) throws OperationFailedException
SpringLDAPConnector
searchGroupRelationshipsWithGroupTypeSpecified
in class SpringLDAPConnector
query
- membership query with all GroupType's not null.
OperationFailedException
- represents a Communication error when trying to talk to a remote directory
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |