代码之家  ›  专栏  ›  技术社区  ›  Hussain Akbar

需要与PHP一起使用的组的LDIF

  •  0
  • Hussain Akbar  · 技术社区  · 7 年前

    https://linuxhostsupport.com/blog/how-to-install-ldap-on-centos-7/ 并配置了OpenLDAP。

    现在我试图找出一个用户是否是某个特定组的成员。为此,我看了 ldap query for group members (除其他外)

    我应该创建一个organizationalRole、group还是posixGroup?由于最终的目标是检查哪些用户有权使用其中的哪些应用程序和功能(添加/更新/删除/等等),我想说的是,organizationalRole就是要做的事情。当时,我用了:

    dn: cn=MyAppUsers,dc=mydept,dc=mycompany
    objectClass: top
    objectclass: posixGroup
    cn: Authorized App1 Users
    description: Users allowed to use App1
    

    用户.ldif:

    dn: cn=MyAppUsers,dc=mydept,dc=mycompany
    changetype: modify
    add: memberUid
    memberUid: cn=user1,ou=People,dc=mydept,dc=mycompany
    memberUid: cn=user2,ou=People,dc=mydept,dc=mycompany
    

    我在ldap\u search($ds,$basedn,$filter)中尝试了不同的过滤器组合,但似乎找不到正确的组合。所以,我认为错误的不是查询,而是创建组的方式。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Ludovic Poitou    7 年前

    上面两个LDIF实际上都在更新同一个条目。 所以他们应该是:

    memberUid: user1
    memberUid: user2
    

    然后可以检查用户是否属于

    ldap_search($ds, "cn=MyAppUsers,dc=mydept,dc=mycompany", "(memberUid=user1)")
    

    或者可以搜索用户所属的所有组

    ldap_search($ds, "dc=mydept,dc=mycompany", "(&(objectclass=posixGroup)(memberUid=user1))")
    
    推荐文章