问题标签 [python-ldap]
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.
python - 在 Python 中使用 LDAP 检测 Active Directory 用户帐户是否被锁定
我正在使用 python 的 ldap 模块验证用户登录。当登录失败时,我得到一个 ldap.INVALID_CREDENTIALS 登录,但这可能是因为密码错误或帐户被锁定。帐户在第三次尝试后被锁定。
我想检测到该帐户已被锁定并将其报告给沮丧的用户,而不是相同的“无效登录”消息。
寻找我发现的解决方案:
- AD 不使用 userAccountControl LOCKED 标志;
- 应该使用 lockoutTime 属性
我应该用来查找锁定用户的 LDAP 查询是:
或者对于特定用户:
但这不起作用,查询每次都没有返回结果。
python-ldap - python-ldap 从服务器 2003 获取数据
当我在 Centos 中测试以下命令时
系统告诉我:</p>
OMG,Help.ps:主机ip为192.168.0.254的系统是Microsoft Server 2003。
python - 测试以查看 Python LDAP 连接是否有效
在我们工作的应用程序中,我们有一个用于身份验证的 CAS 后端,然后我们存储我们希望从 LDAP 服务器检索的用户数据。为方便起见,我们有一个自定义backends.py
的后端进行身份验证。这个后端扩展了Django-CAS 后端。为了不必每次将 LDAP 连接存储到类变量并查看它是否存在时都重新连接到 LDAP 服务器。如果是这样,那么我们重用那个。
但我们发现,经过一段时间后,LDAP 会认为此连接已失效,并拒绝使用此连接。所以我决定在代码中添加一个 else 语句
那么我的问题是,有没有更好的方法来实现这一点?我知道这是可行的,但这意味着每次我这样做时,我都必须运行两次搜索(或者我想我可以使用从这两种方式返回的数据......)无论如何,我觉得这很骇人听闻,在哪里为了查看连接是否无法正常工作,try
如果它没有成功,我会修复它。有没有更好的办法?
python - ldapsearch 工作,但 python-ldap 没有
以下工作并返回所有用户的列表
我正在尝试在 Python 中做同样的事情,我得到了Invalid credentials
任何使这项工作的建议都会很棒。我正在努力学习python-ldap
谢谢
编辑
这是我得到的完整错误:
LDAP
服务器是 Windows Server 2008 R2 上的 Active Directory
python-2.7 - 如何使用 python-ldap 读取活动目录的内容?
我的脚本是这样的:
我在 Windows 上使用 Python 2.7。
有什么方法可以读取或获取活动目录的内容吗?
ldap - 如何列出 ldap 组的所有组成员?
我有带 LDAP 的 Plone 3,里面有很多组和用户。我想获取特定组的所有组成员。
这里的成员总是返回[]
,但实际上,我的组中确实有一些用户。
python - python-ldap 和 Microsoft Active Directory:连接和删除用户
python-ldap newb 在这里。我正在尝试使用以下示例代码执行此操作:
我收到各种错误:
使用虚拟机的 IP:
使用 localhost 或 127.0.0.1 :
我查看了以下没有解决方案的 SO 帖子:
python - 尽管 __debug__ 为 True,但条件 __debug__ 语句未执行
简洁版本
我有一段正在调试的代码,它检查它的值__debug__
并在它为 True 时执行一些代码。
问题是“东西”永远不会发生,即使__debug__
看起来是真的。
长版/详情
为了检查这一点,我正在__debug__
使用以下模式在函数执行时将几个变量的值打印到文件中,最值得注意的是。(我正在使用os.open
,因为open
已在此模块中定义。)
我最困惑的一段代码如下所示:
输出文件如下所示:
前 3 条语句(第 82-84 行)是我能想到的检查是否__debug__
“真实”的所有方式,所有 3 条都暗示那__debug__
是真实的。同样,转换__debug__
为布尔值然后评估if
(第 88 行)也可以按预期工作。第 90 行是一个愚蠢的完整性检查。
__debug__
在可能导致这种情况的工作方式中,我有什么遗漏吗?
注意:我在处理模块中的_ldap_function_call
函数时遇到的错误时发现了这一点。python-ldap
我只在使用 IIS 时收到此错误 - 在 Django 的开发服务器上一切正常。
python - 如何在不编译的情况下在 Windows 上的 python 2.7 virtualenv 上安装 python-ldap
我使用 Windows 作为我的主要 python 2.7 开发环境,我想在虚拟环境中安装 python-ldap。
python-ldap包需要编译:(当然我不能在我的环境中编译它。所以我尝试找到二进制文件以便通过easy_install将它们安装在我的虚拟环境中(仅供参考,你可以做easy_install package.exe和包将安装)。我在这里找到了分布式二进制文件:https ://pypi.python.org/pypi/python-ldap/
不幸的是,他们只为 python 2.7 提供 .msi 包!!!为什么人们使用 .msi ?无法通过 easy_install 安装 MSI。我讨厌微星 %$#$^#$^#$
是的,我可以通过执行它来安装 .msi 包,但它将安装在全局 python 包中,而不是我的虚拟环境中!
请问,有人能帮帮我吗?我记得在以前的项目中遇到过这个确切的问题,我不得不在虚拟环境之外开发它——但我现在不能这样做:(
更新:我在系统范围内安装了 python-ldap 并将目录 ldap 和 python_ldap-2.4.10-py2.7.egg-info 从 PYTHON_GLOBAL\Lib\site-packages 复制到 VIRTUALENV\Lib\site-packages 并且似乎正在工作现在。但是我真的不喜欢那个解决方案,所以我不会用那个来回答我的问题。此外,亚历山大关于使用 --system-site-packages 重新创建我的 virtualenv 的评论可能会起作用,但这意味着我需要卸载很多我的全局包包,然后再次安装我的虚拟包等,一般来说它不是干燥的 :(
更新 2:在尝试了 cgohlke 的建议后,我看到 MSI 的内容是我上面提到的两个目录以及文件 dsml.py、ldapurl.py 和 ldif.py。所以我也把它复制到了我的 VIRTUALENV\Lib\site-packages。现在我相信安装没问题:)。但我相信cgohlke 是最好的——只需使用msiexec.exe 将msi 的内容直接提取到您的VIRTUALENV。
更新 3:在一个类似的问题(在 Windows 上的 virtualenv 中安装 python-ldap)我发现了一个非常有趣的链接:http ://www.lfd.uci.edu/~gohlke/pythonlibs/#python-ldap 。在那里,您将能够找到 python-ldap 和许多其他人的 .EXE 安装包!!!所以最后通过下载这些你就可以easy_install
在你的 virtualenv 中使用它们了!
python-ldap - 如何设置 Active Directory 用户的 lockoutTime 和密码
我想更改 AD 用户的 userAccountControl 和密码。用户已在 AD 中创建。用户是使用 AD 中的 python-ldap 模块创建的,处于“禁用”状态且没有密码。
AD 托管在 win2k8R2 上。
当我使用 pythion-ldap 脚本更改 uac 和密码时,它会抛出以下错误: