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

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

目前,我们需要为自定义应用程序配置基于组的 LDAP 登录。我们有名为 app1、app2 等的应用程序。

为了限制用户登录特定应用程序(例如 app1),那么对于该用户,它应该具有名为允许服务 = app1,用于用户登录到 app2允许服务 = app2

所以我们以这种方式创建了用户。

现在为了将应用程序绑定到 ldap,我们创建了如下用户

cn=app1,ou=应用程序,dc=prime,dc=ds,dc=geo,dc=com cn=app2,ou=应用程序,dc=prime,dc=ds,dc=geo,dc=com

现在我们配置LDAP 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)我们创建规则olc访问:{5}并将其绑定应用3用户,但整个 ACL 不起作用,所有用户都可以登录到所有应用程序。

所以有人能帮助我们吗?

相关内容