问题标签 [django-auth-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 - django-auth-ldap AUTH_LDAP_FIND_GROUPS_PERMS 不工作
我正在运行 Django 1.8.18 和 django-auth-ldap 1.2.11 针对 Active Directory 进行身份验证。
我当前的配置针对 AD 进行了正确的身份验证,但是,当我启用AUTH_LDAP_FIND_GROUPS_PERMS
它时,它似乎没有做任何事情。我之前尝试过AUTH_LDAP_MIRROR_GROUPS
(没有任何问题),发现所有用户组都已创建。唯一的小问题是它还会删除用户拥有的任何本地组成员身份。
无论如何,在我自动创建组之后,AUTH_LDAP_MIRROR_GROUPS
我希望AUTH_LDAP_FIND_GROUPS_PERMS
在下次登录时自动将用户添加到同一组。然而,这并没有发生。配置的唯一变化是那两条线。AUTH_LDAP_GROUP_TYPE
设置为NestedActiveDirectoryGroupType()
有什么想法为什么没有将用户添加到名称匹配的组中?
django - 新创建用户的 django-auth-ldap 默认值
我有一个 Django 应用程序,它有两个身份验证后端,一个具有所有“内部”用户的 LDAP 后端和一个具有“外部”用户的自定义后端。所有与 LDAP 组搜索过滤器匹配的内部用户都应使用is_staff
:创建True
。
之前,我们使用
这似乎工作得很好,但是使用 Django 1.10 我们现在得到:
我知道我可以搜索组成员并将其匹配,is_staff
但基本上我希望针对 LDAP 进行身份验证的用户的所有is_staff
帐户自动设置为:True
。
有没有合适的方法来做到这一点?我知道我可以在事后通过挂钩django_auth_ldap.backend.populate_user
信号来修复它,但是用户已经创建,最好我想在创建用户之前对其进行修改。
django - 不确定 django 和 ldap 如何协同工作
我有一个 django 应用程序,我想向它添加身份验证。Django 是非常好的朋友,所以它有一个很好的安全部分。
我可以使用 User 对象和内置的管理 GUI 来维护用户、组等。
我想让应用程序用户有机会连接到 LDAP 并使用它对用户进行身份验证。好的,我可以使用 django-ldap 模块,太棒了!
但是我目前不明白它是如何工作的。用户是否会被传播到本地 django suth 数据库(我问的原因是我们在调用 LDAP 时仍然处理 User 对象)?或者当我们需要用户或必须完成身份验证时,将调用 LDAP 并对那里的用户进行身份验证?
很抱歉这个新手问题,但我有点困惑。
谢谢,
V。
django - 没有名为“django_auth_ldap”的模块
我正在尝试使用 django 和 LDAP 身份验证配置网站。在我的登录页面上,我只需输入任何用户名和密码,并期望进入不同的 html 页面(暂时不连接到数据库。我在 view.py 文件中的方法:
我是 django 的新手,所以如果这个错误消息是正确的,我什至不确定我是否应该看到任何页面。我正在使用 Python3.5,并且成功安装了 pyasn1-0.2.3。然后进入我的控制台我可以成功import ldap3
。但是,我不能比这更进一步。
设置.py
我的任何目录如下所示:
据我推断,django_ldap_auth 似乎无法轻松安装 1. Windows 8.1 Enterprise 和 2. Python 3 ( https://github.com/susundberg/django-auth-ldap-ad )
这很烦人,也许如果我切换到 Python2,也许这会起作用....
python - 安装 django_auth_ldap / pyldap
在我的 Mac 上安装 Python 库通常相对没有问题,但在我的 Windows 10 PC 上,我遇到了更多的麻烦。我想在 Django 中设置一个 LDAP 身份验证后端,并且我已经使用 ldap3 来确认绑定,并且成功。我现在意识到只用 ldap3 为我的 LDAP 后端编写一个类非常简单,安装 django_auth_ldap 可能是另一种探索途径。在我的 Windows PC 上执行简单的“pip install”会导致连接问题,因此以下内容适用于其他软件包:
这在过去是有效的,但是对于 django_auth_ldap 包它会停止,因此问题出在“收集 pyldap”时。那就是我收到连接超时错误的地方。有没有办法绕过这个错误,为什么我不能安装pyldap?
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"
。
问题:
- 运行命令后,在登录之前,在
runserver
运行中间件脚本时调用“A”、“B”打印语句,但正如您所见,它们不是被调用一次,而是被调用两次。为什么? - 接下来打印“C”语句。在
views.py
文件中,conn
通过访问中间件类(使用用户名和密码)创建对象。在这个类中是__call__
方法,“D”语句所在的位置。我希望这个“D”首先被打印出来,然后是“C”。但这种情况并非如此。为什么先C后D? - 经过多次试验和错误后,我了解到开发中间件类需要
__init__
和方法。__call__
这些方法是否绝对必须包含在此中间件身份验证类中?到目前为止,我在阅读过的任何文档中都没有遇到过这个特定的说明,因此必须包含这两种方法。
django - Django 限制/允许来自 ldap 的组访问
我有 Django 项目,它有两个应用程序 App1 和 App2)每个应用程序只有 1 个视图。. 我的项目使用 django-auth-ldap 连接到 openldap。我有两组(Group1,Group2)。
我在 app1 和 app2 (@login_required) 中的视图之前添加了装饰器,结果如预期的那样,来自 group1 和 group2 的所有用户都将能够登录到这两个应用程序。
我希望能够只允许 group1 仅访问 app1 而 group2 仅访问 app2 。
我尝试了许多代码,但没有人与我一起工作。
这是我的代码:
app1.views.py
这是我在 settings.py 中的 ldap 设置:
python - Python,Django LDAP:检测身份验证失败推理
我正在开发一个将 LDAP 身份验证集成到现有 Django 应用程序中的项目。使用这个站点和其他站点,我终于能够使用 django_auth_ldap 后端正确配置所有内容。包含:
AUTH_LDAP_REQUIRE_GROUP = "CN=myGroup,CN=groups [...] "
因此,只有“myGroup”组中的用户才能登录。
现在在 settings.py 中的所有内容都已正确配置,在 user_login 视图中只有:
现在最后一步必须通知用户登录失败的原因。现在,失败消息将始终是:“提供的用户名或密码无效。” 这应该是:
- 错误的用户名/密码
- 不在正确的组中
就像是:
在我的 user_login 视图中,我怎么知道 LDAP 身份验证失败的原因?
PS:在 django_auth_ldap 日志中,我确实看到“用户名的调试验证失败:用户不满足 AUTH_LDAP_REQUIRE_GROUP”
但是如何在 user_login 视图中知道这一点?
python - django-auth-ldap AUTH_LDAP_FIND_GROUP_PERMS 不工作
问题
据我所知,django-auth-ldap
根据我的配置,我正在做我需要的一切。除了它无法建立从 ldap 组到 django 组的映射。
我在 ldap 中有一个名为 的组dev
,即cn=dev
. 我在 django 也有一个小组,叫做dev
. uid=fkilibarda
当我在 Django ( )中使用我的用户登录时,django-auth-ldap
能够获取我的名字、姓氏和电子邮件,但无法将我添加到dev
组中。
调试
django_auth_ldap.backend
线路:203
我发现这hasattr(user, 'ldap_user')
总是错误的。因此,user.ldap_user.get_group_permissions()
永远不会运行,这就是永远不会建立组映射的原因。
我只是不明白上面的意义。user
为什么没有ldap_user
属性?
配置
版本
django-auth-ldap==1.2.14
python3
django - Django:无法从 LDAP 用户获取用户组
我的 Django ( Django 1.11) 项目使用 django-auth-ldap 1.2 作为身份验证支持。
我可以使用以下方法对任何用户代理 LDAP 数据库进行身份验证:
在这种情况下,任何组的任何用户都可以登录该站点。
我想只允许来自“group1”的用户能够访问该网站。我使用了下面列出的代码
这是代码不起作用,用户永远不会通过测试。根据模型文档django-auth-ldap 文档,我可以使用 ldap_user.group_names 来获取用户的组名。
这是我在 settings.py 中的 ldap 设置:
我的问题是:为什么我无法使用此代码对任何用户进行身份验证?