gpt4 book ai didi

python - Django 可以将多个 LDAP 身份验证映射到单个 User 对象吗?

转载 作者:太空宇宙 更新时间:2023-11-03 16:23:42 25 4
gpt4 key购买 nike

我正在使用 django-auth-ldap 针对 Active Directory (LDAP) 数据库对 Django 用户进行身份验证.

我们的 sAMAccountName(通常是 AD 帐户的唯一标识符)约定是 firstname.surname。对于逻辑用户,该值可能会发生变化。例如,他们的姓氏可能会在结婚或离婚时改变。

为了方便使用,我们还要求用户使用电子邮件前缀而不是 sAMAccountName 登录。在大多数情况下,该值与 sAMAccountName 相同。但是,在某些情况下,用户有两个电子邮件地址(1. 法定姓名,2. 英语/西方友好名称)。在其他情况下,电子邮件和 sAMAccountName 由于历史原因而有所不同。

在所有情况下(AD 标识符更改、一个用户有两个电子邮件标识符、电子邮件标识符!= sAMAccountName),多个有效的 LDAP 身份验证应映射到同一逻辑 Django 用户 - 它们不应触发创建多个独立的 User 对象。

我们如何为这种情况配置身份验证?

  • 别名。如果可以将 Django 用户映射到“主要”用户,而不是对同一用户进行多次身份验证,那么这将是一个可接受的解决方案。
  • 备用库。如果另一个维护良好的 Django/LDAP 身份验证库可以完成这项工作(例如 django-auth-ldap-ng )

最佳答案

django-auth-ldap 有一个 documented mechanism让您自定义用户创建过程。通过子类化后端并重写此方法,您可以按照您喜欢的方式将 LDAP 用户映射到 Django 用户。

关于python - Django 可以将多个 LDAP 身份验证映射到单个 User 对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38188431/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com