问题标签 [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 投票
1 回答
341 浏览

python - 没有名为“flask_ldap3_login”的模块

我正在使用 ldap3 设置烧瓶登录页面。我正在使用 python 3.6.8 并使用 ldap3。在pip3 install flask-ldap3-login我得到之后ModuleNotFoundError: No module named 'flask_ldap3_login'

我发现https://pypi.org/project/flask-ldap3-login/ Flask LDAP3 Login 使用 ldap3 库,保持与 python 3.4 和向后的兼容性。但是 Python 3.4 已经到了生命周期的尽头。Python 3.4.10 是 3.4 的最终版本。我也尝试过pip3 install python-ldap,但无法成功获得 ldap autentificate。

预期结果是 app run.py 运行成功。有人在较新版本的 python 上运行 flask_ldap3_login 吗?或者我如何解决这个问题,或者没有修复 python 3.6.8。

谢谢你。

0 投票
1 回答
1652 浏览

python - 在 OpenLDAP 中将用户添加到 POSIX 或“memberOf”组

我正在使用 Pythonldap3模块来处理 OpenLDAP 服务器。我已经能够查询用户并将用户添加到 OU,但不知道如何将用户添加到组(POSIX 和 memberOf/groupOfNames 覆盖)。我在这里找到了一种 Active Directory 的“方式”,但我如何将该示例用于 OpenLDAP?甚至不确定from ldap3 import Server, Connection, ALL, NTLM是否在 Linux 上。

尝试下面的代码。用户被添加到目录中,但添加到POSIXldap-users失败并出现一连串错误,但这看起来像是罪魁祸首。不知道我搞砸了 objectClass 属性:

我想我会留下POSIX组以备后用并尝试使用memberOf覆盖(将用户添加到admins groupOfNames对象),但我坚持使用

不知道为什么模块ldap3.modlist不可用。那不应该包含在 Ubuntu/pythonldap3包中吗?尝试显式导入它。

0 投票
2 回答
4138 浏览

python - 如何将 ldap3 条目处理为 json 或列表以进行进一步的数据处理?

我需要使用 LDAP 从服务器获取数据。我正在使用 ldap3 并且正在获取我需要的所有属性和响应,但是它们被困在 ldap.abstract.entry.entry 类中。我尝试了几种方法将数据转换为 json 或列表形式,但它从来没有像我预期的那样工作。

例如我试过:

然而,这导致我所有的数据都是长度为 480 或更长的单个字符串。我尝试过使用它,但事实证明这非常困难。所以我尝试了以下方法将字符串转换为字典:

但是,现在我无法单独访问所有不同的属性。我的目标是将我从 LDAP 查询中获得的所有数据写入 CSV,以便其他应用程序可以使用它。但目前我被困住了,因为我无法将数据转换为 JSON 或 CSV 格式。

如何从 中获取和处理数据,conn.entries以便将每个属性写入 CSV 中的单独列?

最好的祝愿,

C.泽布

编辑:

这是我使用时得到的示例(entry.entry_to_json())

0 投票
0 回答
635 浏览

python - 获取IndexError:更改密码时列表索引超出范围

我正在开发一个小型应用程序,以使用 ldap3 和烧瓶作为前端更改 AD 中的用户密码。

它在桌面 IDLE 中完美运行,密码在 AD 中更改

我可以在不使用 Flask 的情况下使其成功运行,但是当我将代码移动到烧瓶中时,我得到一个 Indexerror: List index out of range

错误:

第 61 行 entry = conn.entries[0] user_dn = str(entry.distinguishedName)

0 投票
1 回答
156 浏览

python - 搜索名称中带方括号的 AD 组

我想在 Active Directory 中查询名称中带有方括号的组的组成员身份(例如test[group]data)。我将 Python 3.6.5 与 ldap3 库一起使用。查找其他组并解决组成员身份工作完全正常。

将 group_name 例如设置为*然后滚动浏览结果我确实找到了我正在搜索的组:

直接搜索这一组无法找到任何内容,并且 conn.entries 仍然为空。

0 投票
0 回答
134 浏览

python - python ldap3为查询设置时区

当我使用 ldap3 查询 Active Directory 时,结果的时区默认情况下似乎是 UTC。

在文档中我找到了一个时区模块,但我不知道如何正确使用它,所以我的日期时间结果的偏移量为-2。

https://ldap3.readthedocs.io/source/ldap3.core.html#ldap3.core.timezone.OffsetTzInfo

据我了解,必须将以下字符串插入到查询中。

0 投票
1 回答
557 浏览

python - Python ldap3 Reader 只返回一个值

我正在尝试使用 Python ldap3 从 ldap 检索用户。这是我的设置

当我使用连接对象搜索时,我可以检索所有用户:

但是当我尝试让所有用户使用阅读器时,我只得到一个项目,它甚至不包含用户,这就是我所做的:

我有什么遗漏吗?

编辑 1 这是 print(r) 的输出:

0 投票
1 回答
800 浏览

python - 在 Python 中使用时面临的 LDAP-Login 问题

我正在使用 flask_ldap3_login 通过 Active Directory 的身份验证登录。下面提供代码供参考。

然后问题是,当我使用上面提到的完整app.config['LDAP_BASE_DN']时,它工作正常,但如果我只使用DC=domain,DC=com作为 Base_DN 来验证来自整个组织的用户,那么让我失败而不是成功

0 投票
1 回答
2397 浏览

python - 当 CN 和 DisplayName 不同时,ldap3 绑定失败

我是 python LDAP 的新手,需要在 LDAP 中进行搜索,但是

当用户的 CN 和 DisplayName 不同时,我只能连接Domain\user.

见下文:

  • ldap3.Connection(s, user=user_cn, ....失败的,
  • ldap3.Connection(s, user=user_domain, ....成功

使用域/用户连接和绑定()是可以的,
但是当我进行搜索时,我仍然需要search_base中的CN。
问用户的域名&CN&密码太麻烦了,有没有人可以帮帮我。
谢谢!

ldap3 = 2.6
Python = 3.5.2

0 投票
1 回答
784 浏览

python - 带有 TLS 的 Django LDAP3 安全性:我安全吗?

我担心在我的 Django 应用程序中使用 LDAP 登录不安全。在尝试了几种方法之后,我能够使用ldap3获得一个有效的自定义后端。我的组织中的其他程序员(不幸的是非 Django 程序员)建议我使用 TLS,但是当我与 ldap3 建立连接时,它看起来好像没有使用 TLS。我是 LDAP 和安全性方面的新手,但我尝试尽可能多地阅读,所以希望我不会遗漏一些明显的东西。

根据 ldap3 文档和反复试验,似乎必须先绑定连接(conn.bind()),然后才能启动 TLS(conn.start_tls())。这是真的?如果连接在没有 TLS 的情况下绑定,这是否暴露了漏洞?如果是这样,连接后启动 TLS 的意义何在?

我是否正确使用了 ldap3 和 TLS?这种登录方法不安全,会暴露密码吗?

如果我切换conn.bind()conn.start_tls()顺序(因此 TLS 首先启动),登录失败(表单显示“输入正确的用户名...”)。

在 Django 应用程序中以这种方式登录是否安全?