问题标签 [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,无法在 MSSQL 中添加用户
我们有一个连接到多个 MS SQL 数据库实例的 Django 应用程序。每个应用程序都有一个 router.py,用于处理将进程路由到每个数据库。
这是我第一次设置多个数据库访问。
Django 内置应用程序通过这个 router.py 路由到默认数据库:
我们正在使用 LDAP 身份验证和 Django 的内置身份验证。这个想法是 Intranet 用户可以针对我们的 AD 服务器进行身份验证。外部用户可以注册,并将通过 Django 的身份验证进行身份验证。
当我将默认数据库设置为:
LDAP 有效,但我无法将用户添加到 Django 的身份验证中。管理员显示“成功”消息,但未将用户添加到数据库中。
如果我将默认数据库切换回 SQLLite,我就可以针对 AD 进行身份验证并添加 Django 用户。
所以,我认为这不是 routers.py 文件的问题。我担心这可能是“sql_server.pyodbc”引擎的问题。
编辑:根据请求,这里是数据库设置:
注意:我认为这可能与 Django 保存新用户的方式有关。要去那里看看。当两个身份验证后端都到位时,我可以使用 createsuperuser 命令添加更多超级用户。确认,我可以通过外壳创建普通用户,但不能通过管理员。
跟进说明:仍然没有找到管理员的问题,但我发现我可以通过表单添加用户。我认为问题一定是管理员中的错误。
编辑:
根据@AndrewSmiley 的要求:
更新:
根据@user1797792 的建议,我创建了一个自定义 UserCreationForm 来设置date_joined
值,但我们仍然无法通过 Django Admin 添加用户。
相关 forms.py & admin.py 条目如下:
python - 如何在 Heroku 服务器中安装 django-auth-ldap==1.2.7?
我正在尝试django-auth-ldap==1.2.7
使用pip install
in requirements.txt安装这个库。
我正在使用Heroku服务进行部署。
但是,每次我尝试推送/部署代码时,我都无法完成依赖项检查/安装,因为会弹出此错误:
我放弃了这个问题和答案:python-ldap failed to install in Heroku
但没有运气。
基本上,我尝试使用第三方BUILDPACK:
和
但仍然无法正常工作。
有人可以请,
- 帮助我向我展示一种构建自己的BUILDPACK的方法或
- 指点我一个替代解决方案?
谢谢!
- -编辑 - -
刚刚发现有几个好人正在努力让它发挥作用。
有一个拉取请求试图直接在 heroku default
buildpack中解决我的这个问题。
如果有人想知道同样的问题,我将保持这个问题的开放和更新。
谢谢!
python - django-auth-ldap - 查找用户是否属于 ldap 组
我正在尝试为 django 项目配置 ldap 身份验证。所有用户都应该能够访问 Web 服务的地方(我实现了这一点)。我想让几个人(ldap 组的一部分)成为管理员。我需要验证登录用户是否属于 ldap 组。
我没有使用 Django 默认身份验证后端,也不打算使用。
是否有任何简单的方法来查找用户是否属于特定的 ldap 组?
我试图阅读和理解“ https://pythonhosted.org/django-auth-ldap/index.html ”,但它处于非常高的水平并且没有示例。
python - django-auth-ldap 与 Active Directory 不拉“域用户”组
我的以下settings.py
内容工作正常并针对 Active Directory 进行身份验证。除了我需要在当前项目中使用的“域用户”组之外,此配置将所有组都拉入 Django Admin 应用程序。有谁知道为什么这是唯一没有出现在管理应用程序中的组?
settings.py
python - Django 可以将多个 LDAP 身份验证映射到单个用户对象吗?
我正在使用django-auth-ldap针对 Active Directory (LDAP) 数据库对 Django 用户进行身份验证。
我们的约定sAMAccountName
(通常是 AD 帐户的唯一标识符)是firstname.surname
. 对于逻辑用户,此值可能会更改。例如,他们的姓氏可能会在结婚或离婚时改变。
sAMAccountName
为了便于使用,我们还要求用户使用他们的电子邮件前缀而不是他们的, 登录。在大多数情况下,此值与 相同sAMAccountName
。但是,在某些情况下,用户有两个电子邮件地址(1. 法定名称,2. 英文/西方友好名称)。在其他情况下,电子邮件和sAMAccountName
因历史原因而有所不同。
在所有情况下(AD 标识符更改,一个用户的两个电子邮件标识符,电子邮件标识符 != sAMAccountName
)多个有效的 LDAP 身份验证应该映射到同一个逻辑 Django 用户——它们不应该触发创建多个独立的用户对象。
我们如何为这种场景配置身份验证?
- 别名。如果可以将 Django 用户映射到“主要”用户,而不是对同一用户进行多个身份验证,那将是一个可接受的解决方案。
- 备用库。如果另一个维护良好的 Django/LDAP 身份验证库可以完成这项工作(例如django-auth-ldap-ng)
python - django-auth-ldap 找不到组
我正在使用带有 pyldap==2.4.25.1 的 django-auth-ldap (django-auth-ldap-ng==1.7.6) 的分支连接到 ldap。我能够成功登录,但我遇到了错误。即使我仍然能够使用 ldap 凭据和映射属性登录,我也会收到 DN_SYNTAX 错误。这是主要的错误代码:
这是我的 settings.py 设置:
我曾尝试使用“ActiveDirectoryGroupType”,但这似乎没有什么不同。有什么建议么?
django - django-auth-ldap 身份验证失败
我正在尝试在我的项目(Django 1.6、Python 2.7)中使用Django-Auth-Ldap,但它不起作用。
我的活动目录 shema 是:
我已经通过安装 ldap-utils 包测试了 cmd 行上的连接
/li>
连接测试工作正常。
我正在使用以下代码从 shell 测试 python-ldap 连接:
/li>
python-ldap 连接工作正常。
- 我的问题是如何从我的 django 登录界面对 AD 用户进行身份验证?
设置.py:
视图.py:
在文件 django-ldap-debug.log 我有这个错误:
python - django > 1.7 中的 django-ldap-auth 用户配置文件
我正在尝试在我的项目中实现django-ldap-auth,一切似乎都运行良好。问题是,该软件包不支持user profile
1.7 之后的 Django 版本的字段填充。
来自文档:
注意 Django 1.7 及更高版本不直接支持用户配置文件。在这些版本中,LDAPBackend 将忽略与配置文件相关的设置。
我已将此添加到我的settings.py
但没有任何反应(如预期的那样):
AUTH_LDAP_PROFILE_ATTR_MAP = {"description": "description"}
我的问题是:如何AUTH_LDAP_PROFILE_ATTR_MAP
在较新的 django 版本中启用?
编辑:我正在考虑使用自定义用户模型,但我不确定这是否是最好的方法..
python - LDAP:“填充 Django 用户”导致错误“INSUFFICIENT_ACCESS”
我正在尝试针对 LDAP 服务器对 Django 应用程序进行身份验证,并且收到一些奇怪的行为。请记住,我对 LDAP 了解不多,所以如果我误用了一些 LDAP 术语,请见谅。另请注意,在整个问题中,my_domain 是我公司的域名,user_id 是身份验证用户的 uid。
这是我的 settings.py 配置文件的相关部分:
当我尝试登录我的应用程序时,我收到此错误:
填充 Django 用户 user_id search_s('uid=user_id,cn=users,cn=accounts,dc=my_domain,dc=com', 0, '(objectClass=*)') 返回 1 个对象:uid=user_id,cn=users, cn=accounts,dc=my_domain,dc=com 在验证 user_id 时捕获 LDAPError: INSUFFICIENT_ACCESS({'desc': 'Insufficient access'},)
但是,当我将此标志从 True 翻转为 false 时:
认证成功。现在这是奇怪的部分:即使身份验证成功,我的属性也没有映射到我的 Django User 对象(在 中指定的那些AUTH_LDAP_USER_ATTR_MAP = {"first_name": "givenName", "last_name": "sn"}
)。当我手动检查request.user.ldap_user.attrs
所有属性时。
现在问题来了,“填充 Django 用户”到底是什么意思?是什么导致了“INSUFFICIENT_ACCESS”错误,为什么翻转那个标志会修复(隐藏?)问题?
谢谢。
python - django-auth-ldap 查询。无法将 LDAP 用户添加到活动、员工、超级用户角色
寻找 django-auth-ldap 包的帮助。
背景 - 我正在尝试将 LDAP 用户添加到默认用户角色 STAFF、ACTIVE 和 SUPERUSER。毫无疑问,您可以从 debug.log 中看到 django-auth-ldap 成功找到 LDAP 用户名并相应地填充 DJANGO。
但是,它不会将 LDAP 用户添加到相关角色 ieactive、staff、superuser,因为它声明它不属于相关组,尽管对用户名和组执行 LDAP 搜索另有说明。
任何帮助/建议将不胜感激。
谢谢