- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我遇到了一个以前从未真正遇到过的问题,即从 NodeJS 应用程序连接到 LDAP。到目前为止,我什至不知道有 LDAP 这样的东西,所以我一直在边走边学。这就是为什么这可能是一个愚蠢的问题,但我还没有找到任何简洁的答案。
要求是:“使用登录屏幕中提供的用户和密码从应用程序登录到 LDAP”。客户端有一个 LDAP,并希望使用它来验证我们应用程序的用户,因此在登录屏幕中输入的用户和密码用于尝试登录到 LDAP。
我知道连接到 LDAP 需要三件事:
我目前正在使用 ldapjs
从 NodeJS 进行连接。据我所知,我需要用来验证用户身份的操作 it's the bind
operation 。为此,我需要创建服务器(已经完成,没有问题)并传递 dn 和密码。我假设 DN 包括用户。类似的东西
CN=myuser,OU=MyOrg,OU=Users,DN=MyLdapServer,DN=com
这有效...只要用户属于同一个“分支”。也就是说,如果它们全部都在 OU=MyOrg
中。这就是为什么我能够在 bind()
中“硬编码”DN,并且只需通过替换来更改用户。
问题是,并非所有这些都属于同一个“分支”(我不知道其技术名称)。比如说,我有一些在 OU=MyOrg
中,有一些在 OU=MyOtherOrg
...
所以我一开始就不知道用户的组织是什么,所以我无法让他绑定(bind)到 LDAP 客户端,因为我缺少 DN。
客户端仅向我们提供了一个示例,来自另一个使用 ASP.NET 和 ADO.NET 的应用程序,使用 SQL 命令之类的东西来获取 LDAP 信息。事实是,与 DN 等效的是一种更通用的DN。类似的东西
ldap://MyLdapServer.com/CN=[the_user_provided]
这显然是有效的。如果我尝试做同样的事情,使用更“通用”的 DN 路由(我假设它是 LDAP 树上更高的 Node ),提供其中一个用户的密码,我会收到身份验证错误。
那么,怎么会呢?我缺少什么?仅使用“CN=[用户名]”DN 将用户登录到 LDAP 需要什么?这是只有 ADO.NET 才能使用的东西吗?
谢谢,如果这个问题太笼统,抱歉。
最佳答案
根据我发表的评论:
要与 Active Directory 绑定(bind),您不需要知道用户的完整 DN。 this page in the docs 上有所有不同可用方法的列表。 。因此,您可以使用 user@domain.com
作为示例。或者在大多数情况下只需提供的用户名即可。
关于node.js - 连接到 LDAP 并绑定(bind)到更多 "general"DN 来搜索用户需要什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39108545/
当我查找 DN 时带 Spring ldapTemplate , 我必须省略配置的基本 DN。 例如,当基本 DN 配置为 dc=company,dc=com 时,工作查找就像 ldapTemplat
在我的 LDAP 客户端程序中,有时我必须在搜索过滤器中包含 DN 值。但是这个 DN 经常变化,每次我都必须在我的代码中更改这个过滤器。 当我用谷歌搜索它时,我得到了这样的东西 假设您想从 R&D
如何在javascript中写一个必须遵循条件的正则表达式 DN 地址中的所有段都应遵循 cn=,ou=,o=,o=swift 序列 所有段都应该用,分隔. DN 地址最多应包含 100 个字符。 不
我最近在代码中遇到了这一行 - fprintf(logfile," |-IP Version : %dn",(unsigned int)iph->version); 这里的“%dn”
在我们的应用程序中,我们为平台和用户等内部实体生成证书。我们的内部实体由自定义 DN 标识: 平台 DN:p=平台名称 用户DN:cn=userName,p=platformName 我们尝试使用 o
我完全陷入了如何使用新值更新CSV文件中的多行的问题。问题如下,我将一个 Activity 目录csv导出文件导入了大约有500个用户的powershell中,如下所示: $Users = Impor
我进行了 LDAP 目录搜索并收到了一些结果。我需要迭代这些结果并显示每个条目的 Dn。 在我的测试环境中,我通过获取entryDN属性的值来返回Dn值。 在生产环境中,entryDN 属性始终返回
我目前在搜索 DN 包含逗号的条目时遇到问题: StringTokenizer st = new StringTokenizer(dn, "="); Attributes searchAttribut
我用下面的代码有两个目标 1) 获取属于特定广告组的用户列表 2) 获取属于该组的所有用户的电子邮件/姓氏/名字 如果有更好的方法来实现这两个目标,请告诉我。 我能够获得完整的 DN,但我不确定如何从
我想要一个正则表达式来验证所有可能的 DN 类型 我创造了一个,但它不是很好。 /([A-z0-9=]{1}[A-z0-9]{1})*[,??]/ 和其他一些 通过更改它,但徒劳无功。 可能的 DN
我有一个九节点 Cassandra 集群,一切似乎都运行良好,除了我的两台服务器相互显示为 DN。集群中的所有其他节点将所有节点显示为 UN。这两个显示除彼此之外的所有节点 UN,其中它们彼此显示为
我知道以前有人回答过这个问题,但它无法帮助我(除非它有帮助,但由于我的 php 知识有限,它没有帮助)。下面是我的代码: >Could not connect to LDAP server
我已经很清楚如何在 GRPC++ 中建立双向认证的 SSL 通信,但现在我希望在建立的 TLS 通信中获得获取 SSL 客户端 DN 的方式,以进行进一步的身份状态分类。 如果您有一些建议,谢谢。 最
什么是使用 python 获取 SSL 的主题 DN 的好方法? 这包括以下内容: 国名 州名 地区名称 组织名称 通用名 最佳答案 就像是: import ssl import socket fro
我目前正在为我的公司编写一个工具(在 ANSI C 中),它从 LDAP 目录中读取并以特定格式(即:我们旧的专有目录 db 的名称格式)输出所有数据。 然后由另一个工具处理,该工具读取输出等等...
我正在尝试对位于目录根目录的许多不同 OU 执行 LDAP 搜索。 上下文初始化: Hashtable env = new Hashtable(); env.put(Context.SECURITY_
我如何为 LDAP 搜索制作 bourne shell 代码以不返回 DN 而只返回 CN?我为此使用 iTerm2。 最佳答案 如果您只想查看 cn结果,然后您可以使用以下内容: ldapsearc
您好我正在尝试使用我的 ldap 测试服务器来验证 openca 中的用户。 我目前正在通过 phpldapadmin 连接: Login DN : cn=admin,dc=example,dc=co
我构建了一些假设 LDAP DN 不区分大小写的功能。 我已经使用 ActiveDirectory、Oracle 和 OpenLDAP 对其进行了检查,并且不区分大小写。 是否适用于所有 LDAP?
我知道你不能简单地过滤 dn,但我有这样的东西: dc=lvl3,dc=lvl2,dc=lvl1,有人可能有这样的 dn:CN=Last, First,OU=ou1,OU=retired,OU=ou1
我是一名优秀的程序员,十分优秀!