用于限制具有相同用户dn的应用程序的LDAP ACL

目前,我们需要为我们的自定义应用程序configuration基于组的LDAPlogin。 我们有名为app1,app2等的应用程序

为了限制用户login特定的应用程序,例如app1,那么对于该用户,应该具有名为allowedService = app1的属性,用于login到app2,用户需要allowedService = app2

那样我们就创build了用户

现在为了将应用程序绑定到ldap,我们创build了像

cn = app1,ou =应用,dc =素数,dc = ds,dc = geo,dc = com cn = app2,ou =应用,dc =素数,dc = ds,dc = geo,dc = com

现在我们configurationLDAP ACL如下:

olcAccess: {0}to attrs=userPassword,shadowLastChange by self write by anonymous auth by dn="cn=admin,dc=ds,dc=geo,dc=com" write by * none olcAccess: {1}to dn.base="" by * read olcAccess: {2}to dn.subtree="ou=People,dc=prime,dc=ds,dc=geo,dc=com" filter="(allowedService=app1)" by dn.exact="cn=app1,ou=Applications,dc=prime,dc=ds,dc=geo,dc=com" read by * break olcAccess: {3}to dn.subtree="ou=People,dc=prime,dc=ds,dc=geo,dc=com" filter="(allowedService=app2)" by dn.exact="cn=app2,ou=Applications,dc=prime,dc=ds,dc=geo,dc=com" read by * break olcAccess: {4}to dn.subtree="ou=People,dc=prime,dc=ds,dc=geo,dc=com" attrs="entry" by dn.sub="ou=Applications,dc=prime,dc=ds,dc=geo,dc=com" read by dn="cn=admin,dc=ds,dc=geo,dc=com" write by self read by * break olcAccess: {5}to dn.subtree="ou=People,dc=prime,dc=ds,dc=geo,dc=com" by dn.exact="cn=app3,ou=Applications,dc=prime,dc=ds,dc=geo,dc=com" read by users read olcAccess: {6}to dn.subtree="dc=prime,dc=ds,dc=geo,dc=com" by anonymous write 

但是,当任何不支持过滤的应用程序(如suiteCRM)我们创build了规则olcAccess:{5}并将其与app3用户绑定,但是整个ACL不起作用,所有用户都可以login到所有应用程序。

所以任何人都可以请帮助我们