问题标签 [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.
django - django_auth_ldap - AUTH_LDAP_REQUIRE_GROUP
我正在使用 django_auth_ldap。登录而不检查组工作正常。
但是尝试使用添加到LDAPexample_user
组中的用户登录并设置失败。example_group
AUTH_LDAP_REQUIRE_GROUP
设置.py
从日志中:
$ ldapsearch -x -h ldap.example.com b"cn=example_group,cn=groups,dc=example,dc=com"
python - 以明文形式进行的 LDAP 身份验证
我使用 django 创建了一个网站,最近添加了指向我们在 LDAP tcp/389 上的活动目录的 ldap 身份验证。问题是 django auth-ldap 以明文形式发送此 ldap 密码数据,并且我尝试验证的 AD 没有为 LDAP tcp/636 设置(我无法控制)所以我不能使用命令AUTH_LDAP_START_TLS = True
请参阅下面的脚本是否有任何我可以轻松添加的增强功能/脚本,以继续使用 ldap/389 但增加了安全性(如 kerberos 或 ntlm?)以停止以明文形式发送密码 -
django - 切换到生产时登录表单停止工作
我正在使用 Wagtail 2.1、Django 1.11.13、django-auth-ldap 1.6.1 和 gunicorn 19.8.1(Nginx 作为代理服务器)。
我创建了两种不同的登录方式,一个 AJAX 视图:
- 一个常规的、非常标准的 Django 登录表单。
我正在使用 LDAP,并使用常规身份验证后端作为备份:
在开发模式下运行我的代码时(通过 manage.py runserver),登录对于两种登录方法都可以正常工作(我可以看到正在验证我的用户的 dlango-ldap 调试消息)。
但是,一旦我使用生产就绪模式(使用 gunicorn、禁用调试、切换到生产设置),我所有的登录请求都会收到 LDAPError:
在验证 bvolchok 时捕获 LDAPError:INVALID_CREDENTIALS({'desc': 'Invalid credentials', 'info': '80090308: LdapErr: DSID-0C09042A, comment: AcceptSecurityContext error, data 52e, v3839'},)
对于 Ajax 视图,打印 request.POST 对象返回与 Django 集成服务器和 Gunicorn 相同的结果:
QueryDict: {'csrfmiddlewaretoken': ['redacted'], 'username': ['redacted'], 'password': ['redacted'], 'next': ['']}>
基本上,我的问题是,在“生产模式”下,login_form.is_valid() 总是 False ......
django - django_auth_ldap vs postgres db使用django模型
我正在创建一个应用程序,在标准用户模型的帮助下,我将用户存储在 Postgres 数据库中,在我的 Django 应用程序中,我使用 Django 查询来获取所有需要的信息,例如“first_name”、“username”......等
如果需要,我实现了 Django_auth_ldap 以开始将用户标识数据存储在 Openldap 服务器中。但是现在,我对如何获取我以前使用 django 查询获取的数据感到困惑。
我不想改变视图中的行为,我想继续使用 Django 查询
python - LDAP 身份验证用户的 DRF 模型权限失败
我正在开发一个基于 DRF 的应用程序,需要 LDAP 身份验证。我遇到了一个问题,我看到直接通过 DRF API 登录的用户和从外部应用程序(即 Curl/Postman)访问它的用户的不同行为。
在应用程序中,一旦登录,我会提供一系列用户可以访问的视图/url,即下面的 url 以查看“示例”:
http://:8000/api/samples
我已经使用自定义权限类将 DjangoModelPermissions 应用于我的示例视图,该视图需要模型权限才能查看模型,即:
根据https://django-auth-ldap.readthedocs.io/en/latest/permissions.html#group-mirroring,我已经使用 AUTH_LDAP_FIND_GROUP_PERMS=true 配置了我的 ldap 设置,并为我关心的 LDAP 组创建了匹配的 DJANGO 组关于 - 我已经为这些组分配了模型权限。这正如我所期望的那样工作 - 只有具有查看列表权限的组成员的用户才能看到它。
我看到的关键问题是,虽然内部 DRF API 正确确定用户权限,但外部登录然后提交 GET 请求的用户被确定为没有查看权限。
我通过一些调试确定原因是来自django_auth_ldap.backend.py的以下代码中的测试失败,该代码从DRF 中的视图调度程序调用,本质上,当我从 DRF API 中的内置访问 URL 时,“hasattr( user, 'ldap_user'):" 返回 true,当我通过邮递员或 curl 等连接时,"hasattr(user, 'ldap_user'):" 返回 false - 显然意味着没有确定存在用户权限。
所以我想最终我的问题是,我应该如何在来自远程端点的 HTTP 操作之间填充/维护 user.ldap_user 属性。(注意我使用的是会话和令牌认证 ATM)。我猜我的问题更多地与在操作之间维护用户 lda_user 属性数据有关,或者能够在每个连续操作中检索它。
django - 使用 django-auth-ldap LDAPSearch 搜索两个 OU
我有一个使用 django-auth-ldap 为用户搜索 Active Directory 的容器化应用程序。我想合并来自两个独立 OU 的输出。是否有不同的方法或重载可能需要两个 DN 或连接两个单独搜索的输出的方法?
python - Django AUTH_LDAP_MIRROR_GROUPS 不工作
我在尝试指示 Django 仅使用 LDAP 集成同步某些组时遇到了一些麻烦。文档本身告诉我:
AUTH_LDAP_MIRROR_GROUPS
...
这也可以是一个列表或其他组名称的集合,在这种情况下,我们将只镜像这些组,而忽略其余的。
我ldap_config.py
的设置如下:
我的问题是这些组USR-NETBOX-ADM
没有与 Django 同步。如果我只设置AUTH_LDAP_MIRROR_GROUPS = True
许多组是同步的,我想避免垃圾。
permissions - LDAP 用户组和 Django 权限之间的权限链接(如果可能,自定义)
再次大家好,
我有一个问题:我成功实现了 django-auth-ldap,LDAP 用户可以成功请求我的 DRF API。但是现在,为了我的项目需求,我必须根据组定义权限。
事实上,我的应用程序中将有 12 个组。根据组的不同,我将授权或不授权用户请求给定的路由,但即使我定义了全局 var AUTH_LDAP_MIRROR_GROUPS = True,并且在我的数据库中看到它们链接到一个组(见捕获):
从 LDAP 插入 db thx 到 django-auth_ldap 设置的组
但是现在,我还有一些其他问题:我不知道如何根据用户所属的组来实现权限。事实上,如果一个用户属于 ServerAdministrator 组,我想让他访问每个可访问的路由,但我不知道在我的视图中收到的请求中哪里可以看到这个?
据我了解,我应该实现自定义权限,我应该以编程方式在用户对象中编写(应该从 django AbstractUser 继承)
如果是,它是如何工作的?我应该清空我的整个数据库,然后让 django-auth-ldap 插入用户,它还会创建在数据库中定义的给定权限吗?
也许不清楚,如果我可以更准确一些,请不要犹豫。
亲切的问候。
本杰明
python - Django 中的 AUTH_LDAP_REQUIRE_GROUP 问题
我正在使用 OpenLDAP,我想使用 django_auth_ldap 将它连接到 Django。我尝试了很多选项,但找不到解决方案。
我正在尝试使用添加到 ldap 上的组 test_group 的用户 test_user 登录。当我在没有权限的情况下尝试登录AUTH_LDAP_REQUIRE_GROUP="" and AUTH_LDAP_USER_FLAGS_BY_GROUP ={..} in settings.py
时,出现权限被拒绝错误。
11/Oct/2018 15:58:01] "POST /accounts/login/ HTTP/1.1" 302 0
Forbidden (Permission denied): /events/timeline/
[11/Oct/2018 15:58:02] "GET /events/timeline/ HTTP/1.1" 403 22
但是当我尝试登录时AUTH_LDAP_REQUIRE_GROUP and AUTH_LDAP_USER_FLAGS_BY_GROUP in settings.py
,得到这个......
11/Oct/2018 16:03:00] "GET /accounts/login/ HTTP/1.1" 200 1063
[11/Oct/2018 16:03:34] "POST /accounts/login/ HTTP/1.1" 200 1063
设置.py
$ ldapsearch -v -W -x -D "cn=admin,dc=example,dc=com" -p 389 -h ldap.example.com -b "dc=example,dc=com"
视图.py
我错在哪里?我错过了其他属性配置吗?为什么我无法成功登录?
非常感谢您的帮助。