【问题标题】:Can we check whether a user is part of an Organizational Units instead of Groups in Django LDAP?我们可以检查用户是否属于组织单位而不是 Django LDAP 中的组吗?
【发布时间】:2022-01-06 07:01:09
【问题描述】:

在我的 LDAP 目录中,用户被添加到组织单位而不是组。如何使用 Django LDAP 检查用户是否是组织单位的一部分?

我的 settings.py 文件:

AUTH_LDAP_SERVER_URI = 'ldap://qwery'
AUTH_LDAP_BIND_AS_AUTHENTICATING_USER = True
AUTH_LDAP_BIND_DN = 'dndndn'
AUTH_LDAP_BIND_PASSWORD = 'pwdpwd'
AUTH_LDAP_USER_SEARCH = LDAPSearchUnion(
    LDAPSearch('ou=abbb,dc=xxx,dc=net', ldap.SCOPE_SUBTREE, "(sAMAccountName=%(user)s)"),
    LDAPSearch('ou=ammmm,dc=xxx,dc=net', ldap.SCOPE_SUBTREE, "(sAMAccountName=%(user)s)"),
    LDAPSearch('ou=addddd,dc=xxx,dc=net', ldap.SCOPE_SUBTREE, "(sAMAccountName=%(user)s)"),
    LDAPSearch('ou=ahhhhh,dc=xxx,dc=net', ldap.SCOPE_SUBTREE, "(sAMAccountName=%(user)s)"),
)
AUTH_LDAP_CACHE_TIMEOUT = 0

AUTHENTICATION_BACKENDS = [
    'django_auth_ldap.backend.LDAPBackend',
    'django.contrib.auth.backends.ModelBackend',
]


# Populate the Django user from the LDAP directory.
AUTH_LDAP_USER_ATTR_MAP = {
    "name": "cn",
    "username": "sAMAccountName",
    "department":"distinguishedName"
}
AUTH_LDAP_GROUP_SEARCH = LDAPSearch(
    "OU=addddd,DC=xxx,DC=net",
    ldap.SCOPE_SUBTREE,
    "(objectClass=*)")
    
AUTH_LDAP_FIND_GROUP_PERMS = True  

AUTH_LDAP_GROUP_TYPE = GroupOfNamesType()
AUTH_LDAP_ALWAYS_UPDATE_USER = True

AUTH_USER_MODEL = 'login.Account'

AUTH_LDAP_USER_FLAGS_BY_GROUP= {
    "is_it": "OU=IT,OU=ahhhh,DC=xxx,DC=net",

 }

谢谢

【问题讨论】:

    标签: django ldap python-ldap pyldap django-ldapdb


    【解决方案1】:

    您需要将 FDN 确定为 RDN 部分,以确定用户在哪个 OU 中。

    你可以看一个例子:https://www.python-ldap.org/en/python-ldap-3.3.0/reference/ldap-dn.html#examples

    【讨论】:

    • 好的。如果基于一个人是否是 OU 的一部分,是否可以设置标志,就像我们为组做的那样?
    • 当然。 LDAP 中的大多数“用户”类型的 ObjectCLasse 都有一个“OU”属性。
    • 好的。更具体地说,Python/Django 是否有类似“AUTH_LDAP_USER_FLAGS_BY_GROUP”的函数来为 OU 设置标志?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-19
    • 2020-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多