diff --git a/Workbench/directory/Dockerfile b/Workbench/directory/Dockerfile index 3fc3b6e..85b4164 100644 --- a/Workbench/directory/Dockerfile +++ b/Workbench/directory/Dockerfile @@ -24,7 +24,8 @@ RUN useradd ldapadmin \ && /usr/sbin/ns-slapd -D /etc/dirsrv/slapd-dir \ && while ! curl -s ldap://localhost:389 > /dev/null; do echo waiting for ldap to start; sleep 1; done; \ ldapadd -H ldap:/// -f /seed-data/data.ldif -x -D "cn=Directory Manager" -w password \ - && ldapmodify -H ldap:/// -f /seed-data/incwbperson-obj.ldif -x -D "cn=Directory Manager" -w password + && ldapmodify -H ldap:/// -f /seed-data/incwbperson-obj.ldif -x -D "cn=Directory Manager" -w password \ + && ldapmodify -H ldap:/// -f /seed-data/edumember-obj.ldif -x -D "cn=Directory Manager" -w password EXPOSE 389 443 diff --git a/Workbench/directory/container_files/seed-data/edumember-obj.ldif b/Workbench/directory/container_files/seed-data/edumember-obj.ldif new file mode 100644 index 0000000..38b287f --- /dev/null +++ b/Workbench/directory/container_files/seed-data/edumember-obj.ldif @@ -0,0 +1,30 @@ +# +# eduMember Objectclass +# +# +# "eduMember" attributes +# +dn: cn=schema +changetype: modify +# +add: attributetypes +attributeTypes: ( 1.3.6.1.4.1.5923.1.5.1.1 + NAME 'isMemberOf' + DESC 'identifiers for groups to which containing entity belongs' + EQUALITY caseExactMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) +attributeTypes: ( 1.3.6.1.4.1.5923.1.5.1.2 + NAME 'hasMember' + DESC 'identifiers for entities that are members of the group' + EQUALITY caseExactMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) +- +# +add: objectclasses +objectClasses: ( 1.3.6.1.4.1.5923.1.5.2 NAME 'eduMember' + AUXILIARY + MAY ( isMemberOf $ hasMember ) + ) +# +# end of LDIF +# diff --git a/Workbench/midpoint_server/container_files/mp-home/post-initial-objects/resources/100-ldap-main.xml b/Workbench/midpoint_server/container_files/mp-home/post-initial-objects/resources/100-ldap-main.xml index f3a4892..0a84e3c 100644 --- a/Workbench/midpoint_server/container_files/mp-home/post-initial-objects/resources/100-ldap-main.xml +++ b/Workbench/midpoint_server/container_files/mp-home/post-initial-objects/resources/100-ldap-main.xml @@ -61,6 +61,7 @@ ri:inetOrgPerson ri:eduPerson + ri:eduMember ri:incwbPerson ri:organizationalPerson ri:person @@ -77,6 +78,7 @@ true ri:inetOrgPerson ri:eduPerson + ri:eduMember ri:incwbPerson ri:dn @@ -249,6 +251,15 @@ objectToSubject ri:uniqueMember ri:dn + + + ri:isMemberOfAssociation + false + entitlement + group + subjectToObject + ri:isMemberOf + ri:cn @@ -303,6 +314,7 @@ ri:cn mr:stringIgnoreCase + true weak diff --git a/Workbench/midpoint_server/container_files/mp-home/post-initial-objects/roles/200-metarole-ldap-group.xml b/Workbench/midpoint_server/container_files/mp-home/post-initial-objects/roles/200-metarole-ldap-group.xml index 91bf370..dc52597 100644 --- a/Workbench/midpoint_server/container_files/mp-home/post-initial-objects/roles/200-metarole-ldap-group.xml +++ b/Workbench/midpoint_server/container_files/mp-home/post-initial-objects/roles/200-metarole-ldap-group.xml @@ -121,6 +121,20 @@ + + + ri:isMemberOfAssociation + + + + + entitlement + group + + 1 + + + 3