问题标签 [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 回答
248 浏览

python-3.x - 与用户名/密码的变量绑定

我正在尝试获取登录输入并传递给我们的 AD 服务器以验证用户身份。我不断收到错误消息:invalidCredentials,但我已多次验证凭据。我是否正确使用了变量?任何反馈表示赞赏。我目前有以下代码。

我收到以下错误:

0 投票
0 回答
359 浏览

python - 与基本搜索相比,LDAP3 阅读器游标内存使用率高

我正在学习ldap3Python(以及学习 Python ......)

我正在尝试使用 ldap3 提取一些记录,遍历它们并对它们执行一些工作,然后再将结果放入另一个数据库,简单的东西。

我遇到的问题是,当使用两种不同的数据获取方法时,我的性能会明显不同......

使用基本搜索http://ldap3.readthedocs.io/tutorial_searches.html

这以最少的内存使用执行得非常快,大约 43000 个结果不到 200MB

但是使用阅读器光标http://ldap3.readthedocs.io/tutorial_abstraction_reader.html

需要更长的时间并使用大约 2 GB

两者都在检索完全相同的结果#。使用

或者

返回相同大小的对象

我不知道是什么导致一种方法比另一种方法使用更多的资源,或者如何在处理过程中释放资源

编辑 1:好的,我认为使用第一种方法,我实际上并没有引入任何属性,这就是为什么它没有真正使用任何内存..(更多测试很快)

0 投票
1 回答
2980 浏览

django - Django request.method 自动设置为 GET 而不是 POST

我想在 Django 中设置一个 LDAP 身份验证后端,并且我已经ldap3成功地确认了绑定。我现在意识到用 just 为我的 LDAP 后端编写一个类ldap3并不是那么简单,安装 django_auth_ldap可能是另一种探索途径。

我已经测试了一些代码来创建到 LDAP“服务器”的绑定,然后执行简单的搜索。一切都好。我测试的这个方法在我的 Django 框架之外。

在我的 Django 框架中实现相同的方法时,我在调用该方法时遇到了一个问题。由于打印语句,我知道view被调用为预期的,但是应该执行第一个“if”语句的代码部分不会被调用,除非我从“POST”更改为“GET”。但这似乎产生了下一个问题(当我设置为“GET”时,强制执行下一行),因为我希望随后调用登录页面,然后我可以在其中输入我的 LDAP 凭据,最终确认 LDAP 连接。这是我的代码:

我的网页上收到的错误消息:

我认为这与 GET 方法有关,而不再与 POST 方法有关。为什么request.method在 Django 中实现时自动设置为 GET 而不是 POST?这个类是在正确的位置,在views.py文件中进行身份验证,还是应该有一个单独的文件?究竟应该包括settings.py什么(与 BACKEND_AUTH 相关)?

编辑:

0 投票
0 回答
810 浏览

python - python ldap3 获取禁用用户

我正在尝试从活动目录中获取禁用用户的列表。我有用于提取 AD 条目的工作代码,但在返回的结果中我得到了计算机和用户。如果可能的话,我也不知道如何过滤禁用的帐户。

0 投票
0 回答
275 浏览

python - 无法使用 tzinfo 属性腌制 ldap3 日期时间对象

给...

这看起来与ldap3.core.timezone.py ...

createtimestamp属性看起来是datetime.datetime(2017, 6, 18, 11, 13, 38, tzinfo=OffsetTzInfo(offset=0, name='UTC'))

不幸的是,这是我不知道下一步该做什么的地方......这是在使用 datetime 对象本身进行酸洗之前应该解决的问题吗?

我无法使用常规的 Python 日期时间对象重新创建它。

0 投票
2 回答
7073 浏览

python - 在python中向/从活动目录组添加和删除成员

我正在尝试编写一个基于 python-3 的程序,该程序可以每天左右刷新活动目录组的成员。问题是,我有:

用户在组中的成员资格可以根据某些标准过期。所以我必须要

  1. 每天首先从组中删除所有成员
  2. 根据条件检查用户组中的每个用户,如果满足条件,则添加为组成员。

我浏览了 ldap3 教程,但找不到与成员添加/删除相关的任何内容。

你能告诉我任何我可以使用的python库或代码示例会有很大帮助吗?

0 投票
2 回答
1847 浏览

python - 无法使用 django-python3-ldap 连接到 ldap

我正在开发 django 网站,我想在我的应用程序中使用 ldap 身份验证。我正在使用 Django 1.11 通过 django-python3-ldap 进行身份验证。我使用 ldapsearch 测试了到我的 ldap 的连接,它成功了,我得到了以下结果:

当我尝试从 django 连接时,我会收到此错误:

错误:

这是我的 django 配置,用于来自 setting.py 文件的 ldap 连接:

我在 Ubuntu 16.04 下工作并使用 python3.5

我将此参考用于我的设置: https ://github.com/etianen/django-python3-ldap

我可以使用以下命令执行 LDAP 用户的初始同步:./manage.py ldap_sync_users

请建议如何解决这个问题。

0 投票
1 回答
555 浏览

django - 了解Django中间件中的流程顺序

我对 很陌生Django,并且被分配了构建一个对用户进行身份验证的 Web 应用程序的任务,一旦通过身份验证,用户就可以在服务器LDAP中搜索一个人/组。LDAP在过去的几周里,我一直在纠结如何设置它并且已经写了一些帖子,但他们没有提出任何建议。我意识到,因为我最初想在我的views.py. 相反,这些身份验证功能旨在构建为中间件,这为我打开了一个全新的蠕虫罐。

我意识到在任何情况下我都被限制在 中执行整个任务view.py,因为这阻止了用户切换到新页面并仍然在 LDAP 中保持身份验证(我发现conn对象的解析有点笨拙,请参见此处)。

无论如何,在阅读并观看了几个信息丰富的视频之后,比如这里这里,我设法让我的中间件工作的第一步。但是,Django 中发生了一些正在工作的进程,我不完全理解为什么。让我解释一下,但首先是相关代码:

ldap_interface.py

设置.py

视图.py

网址.py

如前所述,在进入日志页面、输入正确的凭据和搜索名称后,LDAP 搜索会在单独的页面上返回有关 cn、dc 等的信息。这是迄今为止的意图,并将在适当的时候扩大。

安慰

我通过在我的代码中放置打印语句来测试正在发生的事情,例如你可以看到的地方"A", "B", "C", "D"

问题:

  1. 运行命令后,在登录之前,在runserver运行中间件脚本时调用“A”、“B”打印语句,但正如您所见,它们不是被调用一次,而是被调用两次。为什么?
  2. 接下来打印“C”语句。在views.py文件中,conn通过访问中间件类(使用用户名和密码)创建对象。在这个类中是__call__方法,“D”语句所在的位置。我希望这个“D”首先被打印出来,然后是“C”。但这种情况并非如此。为什么先C后D?
  3. 经过多次试验和错误后,我了解到开发中间件类需要__init__和方法。__call__这些方法是否绝对必须包含在此中间件身份验证类中?到目前为止,我在阅读过的任何文档中都没有遇到过这个特定的说明,因此必须包含这两种方法。
0 投票
1 回答
1130 浏览

python - Python3 Ldap3:无法通过 python 脚本在 ldap 上添加实体(新用户对象)

我正在编写一个 python 代码,以便能够在 LDAP 上添加一个新的用户帐户 .. Pyhton3 和 LDAP3 .. 到目前为止我可以搜索数据 .. 但我不能通过脚本将新用户插入 LDAP .. 但同样我可以使用 fusiondirectoy 插入帐户。

问题:它说我在使用 ObjectClass 时没有权利:inetOrgPerson。我需要添加需要使用这个 objectClass 的 givenName 属性。

我的代码:

结果:{'result': 50, 'description': 'insufficientAccessRights', 'dn': '', 'message': 'no write access to parent', 'referrals': None, 'type': 'addResponse'}

有什么帮助吗?

0 投票
0 回答
503 浏览

apache - 通过 Apache 部署 Flask 应用程序时,LDAP 登录返回无效的用户名/密码

LDAP 登录在我的 Flask 应用程序(本地)启动时有效,但是,使用相同的代码和服务器,当通过 Apache 部署应用程序时,LDAP 返回“无效的用户名/密码”。

以下是我能找到的唯一日志:

有人可以帮忙吗?