X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.security.core%2Fsrc%2Forg%2Fargeo%2Fosgi%2Fuseradmin%2FLdifGroup.java;h=bd129119b2592366a49fdba8582fa892d9795e0c;hb=8260f4470f514ea347ca53f5b4dfc632c4a4de66;hp=8fb49b64c98d9409980ad6352fb184f3311b4313;hpb=8851ee9bfc633b575a542f91147e5ecb52f4c256;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifGroup.java b/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifGroup.java index 8fb49b64c..bd129119b 100644 --- a/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifGroup.java +++ b/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifGroup.java @@ -10,10 +10,11 @@ import javax.naming.ldap.LdapName; import org.osgi.service.useradmin.Role; -public class LdifGroup extends LdifUser implements DirectoryGroup { +/** Directory group implementation */ +class LdifGroup extends LdifUser implements DirectoryGroup { private final String memberAttributeId; - public LdifGroup(AbstractUserDirectory userAdmin, LdapName dn, + LdifGroup(AbstractUserDirectory userAdmin, LdapName dn, Attributes attributes) { super(userAdmin, dn, attributes); memberAttributeId = userAdmin.getMemberAttributeId(); @@ -21,6 +22,10 @@ public class LdifGroup extends LdifUser implements DirectoryGroup { @Override public boolean addMember(Role role) { + getUserAdmin().checkEdit(); + if (!isEditing()) + startEditing(); + Attribute member = getAttributes().get(memberAttributeId); if (member != null) { if (member.contains(role.getName())) @@ -39,6 +44,10 @@ public class LdifGroup extends LdifUser implements DirectoryGroup { @Override public boolean removeMember(Role role) { + getUserAdmin().checkEdit(); + if (!isEditing()) + startEditing(); + Attribute member = getAttributes().get(memberAttributeId); if (member != null) { if (!member.contains(role.getName()))