标签: ldap-query

RabbitMQ LDAP身份验证失败

我正在经历使用LDAP授权设置RabbitMQ的过程,但我没有太多运气......有人知道,请看看我告诉我我做错了什么?我能够使用以下代码查询LDAP以获取用户对象:

var entry = new DirectoryEntry("LDAP://ourldapbox.ourcompany.co.uk:636/CN=Mark Twain,OU=Development,OU=OurCompany Employees,DC=OurCompany,DC=co,DC=uk");
Run Code Online (Sandbox Code Playgroud)

配置尝试1

[
  {rabbit, [{auth_backends, [rabbit_auth_backend_ldap, rabbit_auth_backend_internal]}]},
  {rabbitmq_auth_backend_ldap,
   [ {servers,               ["ourldapbox.ourcompany.co.uk"]},
     {user_dn_pattern,       "CN=${username},OU=Development,OU=OurCompany Employees,DC=OurCompany,DC=co,DC=uk"},
     {use_ssl,               false},
     {port,                  636},
     {log,                   true}
   ]
  }
].
Run Code Online (Sandbox Code Playgroud)

配置尝试2

[
  {rabbit, [{auth_backends, [rabbit_auth_backend_ldap, rabbit_auth_backend_internal]}]},
  {rabbitmq_auth_backend_ldap,
   [ {servers,               ["ourldapbox.ourcompany.co.uk"]},
     {dn_lookup_attribute,   "sAMAccountName"},
     {dn_lookup_base,        "DC=ourcompany,DC=co,DC=uk"},
     {user_dn_pattern,       "${username}@ourcompany.co.uk"},
     {other_bind,            anon},
     {use_ssl,               false},
     {port,                  636},
     {log,                   true}
   ]
  }
].
Run Code Online (Sandbox Code Playgroud)

配置尝试3

[
  {rabbit, [{auth_backends, [rabbit_auth_backend_ldap, rabbit_auth_backend_internal]}]},
  {rabbitmq_auth_backend_ldap,
   [ {servers,               ["ourldapbox.ourcompany.co.uk"]},
     {dn_lookup_attribute,   "userPrincipalName"},
     {dn_lookup_base,        "dc=ourcompany,dc=co,dc=uk"},
     {user_dn_pattern,       "${username}@ourcompany.co.uk"},
     {use_ssl,               false},
     {port,                  636},
     {log,                   true}
   ] …
Run Code Online (Sandbox Code Playgroud)

ldap ldap-query rabbitmq easynetq

3
推荐指数
1
解决办法
3929
查看次数

如何在 LDAP 上运行范围查询

我正在尝试检索有关 LDAP 组的数据。由于我需要对结果进行分页,因此我需要运行范围查询。我的设置使用 JNDI 连接到 LDAP。我正在尝试运行此查询

 (&(objectclass=group)(range=1-500))
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?我知道 LDAP 有基于范围的查询,如何修改此查询以获得相同的查询?

jndi ldap active-directory ldap-query

2
推荐指数
1
解决办法
9442
查看次数

如何进行LDAP查询,仅返回所有级别的OU = Groups的组?

如果我正在寻找所有东西Groups,我会得到太多的垃圾。

如果我试图缩小基数,我会得到的太少。

这是一个例子:

CN=A Team,OU=Groups,OU=Americas,DC=example,DC=com
CN=B TEAM,OU=Groups,OU=EMEA,DC=example,DC=com
CN=C Team,OU=Legacy Groups,DC=example,DC=com
CN=D Team,OU=Groups,OU=Bangalore,OU=APAC,DC=example,DC=com
CN=E Team,OU=Common Groups,DC=example,DC=com
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个filter返回ABDE(不带C)的LDAP- 主要的逻辑是让我拥有所有最后一个OU=Groups或最后一个的组OU=Common Groups

我当前的搜索正在使用:

 Search base: CN=Users,DC=citrite,DC=net
 Filter: (objectCategory=Group)
Run Code Online (Sandbox Code Playgroud)

ldap ldap-query

2
推荐指数
1
解决办法
4万
查看次数

使用net-ldap库查询Ldap以获取组详细信息

我正在尝试使用net-ldap库为ruby查询ldap服务器以获取任何组的详细信息

require 'rubygems'
require 'net/ldap'

username = "user1"
password = "pass1"
host = 'server.address'
ldap = Net::LDAP.new :host => host,  :port => 389
ldap.auth username, password

filter = Net::LDAP::Filter.eq("cn", "*group*")

ldap.search(:base => treebase, :filter => filter, :return_result => true) do |entry|
  puts "DN: #{entry.dn}"
  entry.each do |attr, values|
    puts ".......#{attr}:"
    values.each do |value|
      puts "          #{value}"
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

我得到有关该组的详细信息,但不是该组的所有者.

什么是错的任何想法?以及如何做到这一点

ldap ldap-query netldap

2
推荐指数
1
解决办法
2721
查看次数

为什么不总是在LDAP搜索过滤器中使用(objectClass =*)?

我为Active Directory中的搜索用户创建了以下过滤器:

(&(objectClass=*)(|(sAMAccountName=u)(userPrincipalName=u)) 
Run Code Online (Sandbox Code Playgroud)

可以创建更多合格的过滤器:

(&(objectClass=person)(|(sAMAccountName=u)(userPrincipalName=u)) 
Run Code Online (Sandbox Code Playgroud)

问题是为什么?

使用指定类有什么好处person

是否可能同一目录包含的对象objectClass不是,person但以下是真的(|(sAMAccountName=u)(userPrincipalName=u))

并不总是(objectClass=*)在LDAP搜索过滤器中使用?

ldap active-directory ldap-query

2
推荐指数
1
解决办法
1万
查看次数

ldap返回子树和一个级别,但不是基础

在活动目录中,我可以使用以下过滤器执行子树和一级ldap搜索:

base dn: CN=Users,DC=local,DC=tld
filter: (sAMAccountName=dummyaccount)
Run Code Online (Sandbox Code Playgroud)

dummyaccount位于Users容器中.有人可以向我解释为什么单级和子树的工作,而基础不工作?我有什么办法可以找到对象吗?

search ldap active-directory ldap-query

2
推荐指数
1
解决办法
7930
查看次数

如何使用curl查询LDAP组成员身份?

我想curl在命令行上使用a检查是否$USER是LDAP组的成员$GROUP

这有效:

curl --user $CREDS \
     "ldaps://ldap.foo.com/DC=ads,DC=foo,DC=com??sub?(sAMAccountName=$USER)" \ 
   | grep -a "memberOf: CN=$GROUP,OU=Distribution,OU=Groups,DC=ads,DC=foo,DC=com"
Run Code Online (Sandbox Code Playgroud)

不幸的是,该呼叫需要花费一些时间,并且返回许多我不感兴趣的信息。您知道是否存在更有效的方法吗?

curl ldap ldap-query

2
推荐指数
1
解决办法
1万
查看次数

超出LDAPException大小限制

我使用unboundid ldap sdk来执行ldap查询.我在运行ldap搜索查询时遇到了一个奇怪的问题.当我对包含50k条目的组运行查询时,我收到异常.我的例外:

LDAPException(resultCode=4 (size limit exceeded), errorMessage='size limit exceeded')
at com.unboundid.ldap.sdk.migrate.ldapjdk.LDAPSearchResults.nextElement(LDAPSearchResults.java:254)
at com.unboundid.ldap.sdk.migrate.ldapjdk.LDAPSearchResults.next(LDAPSearchResults.java:279)
Run Code Online (Sandbox Code Playgroud)

现在奇怪的是我已经在搜索约束中将maxResultSize设置为100k,而不是我收到此错误的原因?我的代码是

     ld = new LDAPConnection();
    ld.connect(ldapServer, 389);

    LDAPSearchConstraints ldsc = new LDAPSearchConstraints();
    ldsc.setMaxResults(100000);
    ld.setSearchConstraints(ldsc);
Run Code Online (Sandbox Code Playgroud)

有人有什么想法吗?

ldap ldapconnection ldap-query unboundid-ldap-sdk

1
推荐指数
1
解决办法
5621
查看次数

LDAP 查询以根据属性获取用户

DC=abc,DC=COM
  OU=ABC
     OU=Users
        CN=User1
        CN=User2
        CN=User3
     OU=Computers
  OU=ABC1
     OU=Users
        CN=User4
        CN=User5
        CN=User6
     OU=Computers
  OU=ABC2
     OU=Users
        CN=User7
        CN=User8
        CN=User9
     OU=Computers
Run Code Online (Sandbox Code Playgroud)

有一个名为employeeID的用户属性employeeID记录中可以存在两种类型的值,一种是纯整数,另一种是以NE开头的字符

我想提取所有员工 ID 是数字的用户。

什么应该是 LDAP 查询,可以用来实现相同的

ldap ldap-query

1
推荐指数
1
解决办法
2万
查看次数

以异步方式调用同步方法?

我正在开发一个 ASP.NET MVC WebApi 项目,其中一种方法需要进行 LDAP 搜索。搜索从 LDAP 服务器检索的信息量确保调用至少需要 7 秒才能完成。调用,因为它使用System.DirectoryServices.Protocols类和方法,是同步和不可修改的。

此 API 将接收的流量相当大(即使 API 位于内部网络中),因此每次调用 LDAP 服务器 7 秒并不是一个好主意。所以我想知道这个:

  • 将它包装在异步方法中是个好主意吗?
  • 异步此调用的正确方法是什么?(是await Task.Run(() => Search(params))一种可以接受的方式吗?)

c# ldap-query async-await asp.net-web-api

1
推荐指数
1
解决办法
506
查看次数

在 FreeIPA 服务器上测试组成员身份

我需要在 FreeIPA 上检查用户是否是某个组的成员。(目前我正在命令行上测试以在 Node 中编写实际代码之前正确进行搜索)。根据搜索,我使用以下查询:

ldapsearch -x -b "uid=testuser,cn=users,cn=accounts,dc=smnet,dc=com" '(memberof=cn=testgroup,cn=groups,cn=accounts,dc=smnet,dc=com)'
Run Code Online (Sandbox Code Playgroud)

但我得到的结果是:

# extended LDIF
#
# LDAPv3
# base <uid=testuser,cn=users,cn=accounts,dc=smnet,dc=com> with scope subtree
# filter: (memberof=cn=testgroup,cn=groups,cn=accounts,dc=smnet,dc=com)
# requesting: ALL
#

# search result
search: 2
result: 0 Success

# numResponses: 1`
Run Code Online (Sandbox Code Playgroud)

但是,如果我不使用过滤器:

 ldapsearch -x -b "uid=testuser,cn=users,cn=accounts,dc=smnet,dc=com"
Run Code Online (Sandbox Code Playgroud)

我得到:

# extended LDIF
#
# LDAPv3
# base <uid=testuser,cn=users,cn=accounts,dc=smnet,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# testuser, users, accounts, smnet.com
dn: uid=testuser,cn=users,cn=accounts,dc=smnet,dc=com
givenName: test
sn: user
uid: testuser
cn: …
Run Code Online (Sandbox Code Playgroud)

ldap-query freeipa

1
推荐指数
1
解决办法
3797
查看次数

LDAP 获取以以下开头的组

我遇到过这样的情况:Active Directory 组以唯一代码为前缀。例如

  1. 12345 用户
  2. 12345 管理员
  3. 67890 用户
  4. 67890 管理员

我目前正在使用 LDAP 来获取所有组,但我想将其限制为仅包含以 id 为前缀的组。

有效获取以 12345 开头的组。

如何使用 LDAP 实现这一目标?

ldap active-directory ldap-query

0
推荐指数
1
解决办法
8997
查看次数

连接到 ldap 时出现绑定错误

我编写了以下 ldap 命令来测试 ldap 连接

 ldapsearch -x -h ldap.com -b "uid=user1,ou=people,dc=domain,dc=com" 
Run Code Online (Sandbox Code Playgroud)

我得到以下输出

# extended LDIF
#
# LDAPv3
# base <uid=user1,ou=people,dc=domain,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# search result
search: 2
result: 1 Operations error
text: 000004DC: LdapErr: DSID-0C0907C2, comment: In order to perform this opera
 tion a successful bind must be completed on the connection., data 0, v2580

# numResponses: 1
Run Code Online (Sandbox Code Playgroud)

请建议如何解决绑定错误

linux bind ldap selinux ldap-query

0
推荐指数
1
解决办法
6278
查看次数