LDAP ACL для ограничения приложений с одним и тем же пользователем dn
В настоящее время нам нужно настроить групповой вход в систему LDAP для наших пользовательских приложений. У нас есть приложения с именами app1, app2 и т. Д.
Для ограничения пользователей на вход в конкретное приложение, например, для app1, тогда для этого пользователя он должен иметь атрибут с именем allowService = app1, для входа в app2 этот пользователь должен позволять allowService = app2
Таким образом, мы создали пользователей.
Теперь для привязки приложений к ldap мы создали таких пользователей, как
cn = app1,ou=Applications,dc= простое,dc=ds,dc=geo,dc=com cn = app2,ou=Applications,dc= простое,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), мы создали правило olcAccess: {5} и связали его с пользователем app3, но тогда весь ACL не работает, и все пользователи могут войти во все приложения.
Так может кто-нибудь, пожалуйста, помогите нам в этом