【问题标题】:ldap query to search for a user and groupldap 查询以搜索用户和组
【发布时间】:2020-07-30 11:06:42
【问题描述】:

我正在尝试使用 ldapjs 节点库来搜索组内的用户,但这似乎不起作用。 这是 ldap 属性:

{
  "dn": "CN=TOM H,OU=GLO_Users,OU=GLOBAL,OU=SITES,OU=Engineering,DC=example,DC=com",
  "controls": [
    
  ],
  "sAMAccountName": "toma",
  "objectClass": [
    "top",
    "person",
    "organizationalPerson",
    "user"
  ],
  "cn": "TOM H",
  "sn": "H",
  "memberOf": [
     "CN=g.some_group,OU=Distribution Groups,OU=Groups,OU=Corp,OU=Common,DC=example,DC=com",
   ]
....
....

我正在尝试搜索 sAMAccountName 为“toma”且是 memberOf 组“g.some_group”的用户。

我为此目的编写了这个查询:

const opts = {
   filter: '(&(sAMAccountName=toma)(memberOf=CN=g.some_group))',
   scope: 'sub'
};

const client = ldap.createClient(url: 'some_ldap_server');

client.bind(...);

clinet.search("DC=example,DC=com", opts, (err, res) => {
   res.on('serchEntry', (entry: any) => {
      console.log("entry " + JSON.stringify(entry.object));
  })
  res.on('end', function(result: any) {
      console.log('status: ' + result); 
  });
});

这不会产生任何结果。这只是打印:

status: {"messageID":2,"protocolOp":"LDAPResult","status":0,"matchedDN":"","errorMessage":"","referrals":[],"controls":[]}

我的查询似乎有一些错误:

const opts = {
   filter: '(&(sAMAccountName=toma)(memberOf=CN=g.some_group))',
   scope: 'sub'
};

谁能帮帮我。

【问题讨论】:

  • 您的 LDAP 查询开始于:“const opts = {”这是什么语言?

标签: active-directory ldap ldapjs


【解决方案1】:

您会注意到,在对象的输出中,memberOf 属性包含组的整个专有名称 (DN)。这就是您需要在查询中包含的内容。您只在查询中包含 CN 部分,这就是它不匹配的原因。

const opts = {
   filter: '(&(sAMAccountName=toma)(memberOf=CN=g.some_group,OU=Distribution Groups,OU=Groups,OU=Corp,OU=Common,DC=example,DC=com))',
   scope: 'sub'
};

【讨论】:

  • 快速提问...它可以支持正则表达式吗?
  • 不,不是正则表达式。对于大多数属性,您可以在开头或结尾使用* 作为通配符,但不能在具有专有名称的memberOf、member、manager 等属性上使用。那些只能是=* 来表示“有一个值”,或者是完整的专有名称。
  • @GabrielLuci - 您愿意接受任何在美国的 Active Directory 工作机会吗? :-)
  • @T-Heron 我受宠若惊! :) 但我现在真的不能换工作。
  • @GabrielLuci - 不用担心。将来会再次入住。 :-)
猜你喜欢
  • 1970-01-01
  • 2013-05-28
  • 1970-01-01
  • 1970-01-01
  • 2011-07-12
  • 1970-01-01
  • 2014-07-25
  • 1970-01-01
  • 2014-12-11
相关资源
最近更新 更多