问题标签 [ldap3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
38358 浏览

python - 如何在 python3 中使用 ldap3 绑定(认证)用户

我正在尝试使用ldap3版本“0.9.7.4”将一些代码更新为 python3。(https://pypi.python.org/pypi/ldap3

以前,我使用 python-ldap 和 python2 来验证这样的用户:

这会正确返回(97, [], 2, [])正确的密码,并ldap.INVALID_CREDENTIALS在使用不正确密码的绑定尝试时引发。

在 python3 中使用ldap3我正在执行以下操作:

它引发了以下异常:

我正在使用user_dnpython2 的 ldap 搜索返回的值,因为这似乎在 python2 中工作。

如何在 python3 中使用 ldap3 正确绑定它?

我注意到一件奇怪的事情是 ldap3 的 LDAPInvalidCredentialsResult 包括'description': 'success'。我猜这只是意味着成功收到响应......

0 投票
1 回答
3085 浏览

python - 使用 ldap3 库更改 OpenLDAP 中的用户密码

我似乎无法使用 ldap3 python 模块针对 OpenLDAP 服务器更改用户密码。之前有人问类似的问题,但这是针对 Active Directory 的。

我试过的:

描述说成功,但实际上并没有更改密码。

我还尝试发送修改替换消息:

该连接不是SSL 连接。AD 问题的答案要求通过 SSL 进行连接。这也是 OpenLDAP 的要求吗?

编辑:

更改dnuser.entry_get_dn()代码后,似乎大约 90% 的时间都可以工作。今天再次运行这些测试后,它似乎现在可以始终如一地工作。我将把它归结为不在我的目录浏览器中查看新数据。

0 投票
1 回答
796 浏览

python - python ldap3批量删除用户和组

有没有办法用 python ldap3 从 AD 包中删除对象?就像是

没有找到

蒂亚!

0 投票
1 回答
1234 浏览

ldap - 如何在 LDAP3 中创建一个新的 objectClass?

我正在尝试将条目添加到我创建的“策略”容器中,如下所示:

并且找不到任何关于如何创建新的 objectClass 来容纳这些条目的好的文档。如果我尝试使用已经存在的 objectClass 添加条目,如下所示:

这样可行。但我想做这样的事情:

我试过使用 MODIFY_ADD:

但这会返回一个“属性中的无效属性类型”错误,无论我为“organizationalUnit”切换什么值,该错误似乎都会持续存在。我在互联网上搜索了有关此问题的某种帮助,但有关 LDAP3 的文档非常稀少。任何帮助深表感谢。

0 投票
2 回答
2083 浏览

pagination - 如何使用 ldap3 生成器进行分页?

我想对 ldap 查询的结果进行分页,以便每个页面的每个查询都有 50 个用户。此处的文档http://ldap3.readthedocs.io/searches.html?highlight=generator建议使用生成器是执行此操作的最简单方法,但是它没有提供有关如何使用它来实现分页的任何详细信息. 当我遍历生成器对象时,它会打印出每个用户条目,即使我在搜索查询中指定了“paged_size=5”。谁能向我解释这里发生了什么?谢谢!!

0 投票
1 回答
8658 浏览

python - 检索 ldap3 (python3-ldap) 中所有属性的列表

服务器没有为 python-ldap 和 ldap3 库返回相同数量的属性。

缺少的属性是我必须执行一些操作的属性。

这是我用于 ldap3 的搜索查询示例:

与 python-ldap 一起使用的搜索查询:

如果有人可以发布,有没有办法检索可用于 ldap3 中给定查询的所有属性。

0 投票
4 回答
4068 浏览

python - Python 3.5、ldap3 和 modify_password()

我一直在努力尝试通过脚本发送更新我自己的密码的请求。这是代码:

我得到的错误是:

{'dn':'','type':'modifyResponse','description':'unwillingToPerform','referrals':无,'result':53,'message':'00002077:SvcErr:DSID-03190E44,问题5003 (WILL_NOT_PERFORM),数据 0\n\x00'}

知道我做错了什么吗?

我拥有对 DC 的完全访问权限,并且我已确保密码正确等。我已阅读所有文档,但无法理解它。

任何帮助都会很棒!

0 投票
0 回答
394 浏览

spring - 用于每个请求的用户身份验证的 Spring LDAP 模板使用

我有一个捕获 22。

我正在实现一个服务客户端,其职责是在 LDAP 服务器上对用户进行身份验证。客户端接受用户 ID 和密码,确定 userDn,并调用对 LDAP 服务器的请求。

我的问题是目前设置 spring ldap 模板的方式。LdapTemplate需要一个ContextSourceat bean 创建时间。在创建时将其ContextSource配置为某个值(ldapurl、userdn、密码)。但我意识到我的ContextSource意志会随着每个用户而改变。每个用户都会根据用户的 DN 打开一个连接。因此,我的上下文源因每个用户而异,因此ContextSource在创建 bean 时(容器启动)创建一个不是正确的位置。而且,无法通过AFAIK覆盖ContextSource(使用用户名/密码) 。LdapTemplate

那么,在我的代码中显式创建一个 Ldap 对象是否是个好主意,方法是ContextSource使用实​​际的用户 ID 和密码(并且其 url 是所有用户的常量)显式初始化它并LdapTemplate使用 setter 方法更新我的 bean LdapTemplate?在我的客户调用之后,我将ContextSource通过将其设置为来处理null(模板比操作更有效,因为它是一个存在于 spring 容器中的 bean。所以它可以被重用,因此之前关于上下文的信息一定不可用。)

问题: 如上所述,这个问题还有其他解决方案吗?

0 投票
2 回答
3107 浏览

python - 使用 ldap3 验证 django 应用程序

我的 django 应用程序中的身份验证用户有问题。我正在使用 Python 3.5 和 Django 1.10。

我编写了简单的绑定配置来检查用户是否是数据库中的真正用户:

但现在我不知道如何处理它,在 django 我们当然有这样的东西:

但在这种情况下,我们必须在我们的基础中拥有用户帐户,而不是来自 ldap 授权。

因此,当我通过 ldap 登录以使用“@login_required”访问任何其他视图时,我想从 django 获得授权

也许我对 Python >3 的 ldap 和 ldap3 的想法有问题。

任何人都可以帮助我或给我有用的链接?

0 投票
1 回答
8764 浏览

python - Active Directory 身份验证使用 ldap3 python,如何避免明文密码

我知道以下问题已被多次询问,我能找到的答案是获得 SSL 证书。

但是如何在没有 SSL 的情况下绕过它?

这是问题所在:

我一直在实现一个基于 Rest 的 API,它使用 Active Directory 对用户进行身份验证。

我们的安全团队担心将纯文本密码从 UI 传递到 API 会带来安全风险。

但我们这样做是因为 Active Directory 需要纯文本密码。它只是在 POST 请求中采用 JSON 格式:

这是我从 python ldap3 模块使用的 AD 身份验证代码。

所以上面有一种方法可以以任何散列或任何加密格式发送密码。我不确定 Active Directory 或 ldap3 是否支持这种连接机制。

任何线索将不胜感激。