查询用户所属组的ldap

时间:2017-02-09 13:27:56

标签: clojure ldap

即时使用clj-ldap.client.get

我尝试了各种用户查询的变体,但不知道ldap语言,也找不到任何擅长解释它的东西。

我试过了

"cn=<username> , cn=User, dc=google, dc=co, dc=uk"

到目前为止,这只返回了

"googlesecretq": "25",
  "authpassword;orclcommonpwd": "<password>",
  "uid": "<username>",
  "mail": "<username>@google.co.uk",
  "dn": "cn=<username>, cn=Users, dc=google, dc=co, dc=uk",
  "objectclass": [
    <objects that mean nothing to me>
  ],
  "sn": "<username>",
  "userpassword": "<password>",
  "cn": "<username>",
  "givenname": "<username>"

所以任何人都告诉我在哪里学习ldap语言,或者更好的是我需要运行哪些查询来获取给定用户的组/角色

1 个答案:

答案 0 :(得分:0)

使用LDAP,很大程度上取决于安装的架构对象,有些取决于设置/配置系统的人做出的决策。没有一个标准。例如,我使用clj-ldap的LDAP使用cn =,ou = People,dc = example,dc = com,组在cn = Groups,dn-exmple,dn-com中。某些模式(如posix或nis模式)对于如何定义组有相当清晰的定义,但通常人们也会定义自己的模式对象。了解服务器用户的模式对象当然可以帮助缩小可能的候选人范围。

您需要与您的查询的ldap服务器的其中一个管理员交谈,以找出它具有的模式对象,或者使用像ldapsearch这样的工具来探索各种容器/树。探索方法的局限性在于,您的搜索用户(您为执行搜索而绑定的用户)可能没有足够的访问权限来查询所有对象/树/容器。

ldapsearch附带的文档(在大多数Linux系统上都可用)非常适合解释ldap搜索语法的工作原理。它有点“笨拙”,起初看起来很奇怪,但实际上非常简单 - 看看ldapsearch文档中的exmaples和man页面会有所帮助。

openLDAP文档有一些很好的信息,认为它没有很好地呈现,并且很难找到。请记住,有许多不同类型的LDAP具有不同的功能和约定。了解您的工作类型也可能有所帮助。

相关问题