use of org.springframework.ldap.core.DirContextOperations in project perun by CESNET.
the class PerunGroupImpl method synchronizeMembers.
@Override
public void synchronizeMembers(Group group, List<Member> members) {
DirContextOperations groupEntry = findByDN(buildDN(group));
doSynchronizeMembers(groupEntry, members);
ldapTemplate.modifyAttributes(groupEntry);
// user attributes are set when synchronizing users
}
use of org.springframework.ldap.core.DirContextOperations in project perun by CESNET.
the class PerunGroupImpl method getAllUniqueMembersInGroup.
@Deprecated
public List<String> getAllUniqueMembersInGroup(int groupId, int voId) {
Pattern userIdPattern = Pattern.compile("[0-9]+");
List<String> uniqueMembers = new ArrayList<String>();
DirContextOperations groupEntry = findById(String.valueOf(groupId), String.valueOf(voId));
String[] uniqueGroupInformation = groupEntry.getStringAttributes(PerunAttribute.PerunAttributeNames.ldapAttrUniqueMember);
if (uniqueGroupInformation != null) {
for (String s : uniqueGroupInformation) {
Matcher userIdMatcher = userIdPattern.matcher(s);
if (userIdMatcher.find())
uniqueMembers.add(s.substring(userIdMatcher.start(), userIdMatcher.end()));
}
}
return uniqueMembers;
}
use of org.springframework.ldap.core.DirContextOperations in project perun by CESNET.
the class PerunGroupImpl method synchronizeResources.
@Override
public void synchronizeResources(Group group, List<Resource> resources) {
DirContextOperations groupEntry = findByDN(buildDN(group));
doSynchronizeResources(groupEntry, resources);
ldapTemplate.modifyAttributes(groupEntry);
}
use of org.springframework.ldap.core.DirContextOperations in project perun by CESNET.
the class PerunGroupImpl method removeMemberFromGroup.
public void removeMemberFromGroup(Member member, Group group) {
// Remove member from group
Name groupDN = buildDN(group);
DirContextOperations groupEntry = findByDN(groupDN);
Name memberDN = user.getEntryDN(String.valueOf(member.getUserId()));
Name fullMemberDN = addBaseDN(memberDN);
if (!isMember(groupEntry, fullMemberDN))
return;
groupEntry.removeAttributeValue(PerunAttribute.PerunAttributeNames.ldapAttrUniqueMember, fullMemberDN.toString());
ldapTemplate.modifyAttributes(groupEntry);
// Remove member from vo if this group is membersGroup
if (group.getName().equals(VosManager.MEMBERS_GROUP) && group.getParentGroupId() == null) {
// Remove info from vo
vo.removeMemberFromVO(group.getVoId(), member);
}
// Remove group info from member
DirContextOperations userEntry = findByDN(memberDN);
userEntry.removeAttributeValue(PerunAttribute.PerunAttributeNames.ldapAttrMemberOf, addBaseDN(groupDN).toString());
ldapTemplate.modifyAttributes(userEntry);
}
use of org.springframework.ldap.core.DirContextOperations in project perun by CESNET.
the class PerunGroupImpl method removeFromGroupAdmins.
@Override
public void removeFromGroupAdmins(Group group, Group group2) {
DirContextOperations entry = findByDN(buildDN(group));
Name groupDN = addBaseDN(getEntryDN(String.valueOf(group2.getVoId()), String.valueOf(group2.getId())));
entry.removeAttributeValue(PerunAttribute.PerunAttributeNames.ldapAttrAdminOfGroup, groupDN.toString());
ldapTemplate.modifyAttributes(entry);
}
Aggregations