首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >django-auth-ldap新创建用户的默认值

django-auth-ldap新创建用户的默认值
EN

Stack Overflow用户
提问于 2017-05-15 13:00:39
回答 1查看 559关注 0票数 0

我有一个Django应用程序,它有两个身份验证后端,一个LDAP后端有所有‘内部’用户,还有一个定制后端有‘外部’用户。与LDAP组搜索筛选匹配的所有内部用户都应该使用is_staffTrue创建。

以前,我们用

代码语言:javascript
复制
AUTH_LDAP_USER_ATTR_MAP = {
    "name": "cn",
    "email": "mail",
    "is_staff": "mail",
}

这似乎很好,但是使用Django 1.10我们现在可以得到:

代码语言:javascript
复制
django.core.exceptions.ValidationError: ["'me@example.com' value must be either True or False."]

我知道我可以搜索组成员并将其与is_staff相匹配,但基本上,我希望所有帐户都用于针对LDAP进行身份验证的用户,这些用户自动设置为is_staffTrue

有什么合适的方法吗?我知道我可以通过连接到django_auth_ldap.backend.populate_user信号来修复它,但是用户已经创建了,最好是在创建用户之前修改它们。

EN

回答 1

Stack Overflow用户

发布于 2017-05-31 17:23:13

正确的实现可能是使用AUTH_LDAP_USER_FLAGS_BY_GROUP设置,如本文所述:http://pythonhosted.org/django-auth-ldap/users.html#easy-attributes

具体来说,如果您可以识别所有用户所属的组,您可以拥有如下内容:

代码语言:javascript
复制
AUTH_LDAP_USER_FLAGS_BY_GROUP = {
    "is_staff": "cn=users,ou=groups,dc=example,dc=com"
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43980247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档