Gre*_*Ant 2 python ldap authentication django
我正在尝试使用Django-Auth为我的 Django 应用程序设置 LDAP 身份验证
我想要做的基本想法是,描述中带有“IT - Help Desk”的任何 LDAP 用户都将映射到某个 Django 组,描述中带有“Admin”的用户将转到另一个 Django 组,其他任何人都不会不许进。
(有一些遗留原因我必须使用描述字段,所以这不是一个可以改变的选项)
更新:后续对话的某些部分移至此处。
小智 6
django-auth-ldap 1.0.9(3/27 发布)添加了一对 Django 信号,客户端可以使用它们来执行一些用户和配置文件对象的自定义填充。我建议连接到populate_user信号并使用 LDAP 属性来更新用户的组成员身份。例如:
import django_auth_ldap.backend
def update_groups(sender, user=None, ldap_user=None, **kwargs):
# Remember that every attribute maps to a list of values
descriptions = ldap_user.attrs.get("description", [])
if "IT - Help Desk" in descriptions:
# Add user to group
else:
# Remove user from group
django_auth_ldap.backend.populate_user.connect(update_groups)
Run Code Online (Sandbox Code Playgroud)
这甚至可以安全地与AUTH_LDAP_MIRROR_GROUPS结合使用,因为在所有内置用户填充完成后发送信号。
| 归档时间: |
|
| 查看次数: |
2435 次 |
| 最近记录: |