【问题标题】:LDAP Auth: Variable in OU (Organizational Unit)LDAP Auth:OU(组织单位)中的变量
【发布时间】:2019-05-06 06:16:25
【问题描述】:

我正在使用 django-auth-ldap 库,一切正常。我正在使用 AUTH_LDAP_USER_DN_TEMPLATE 进行直接绑定。

用户的 CN 格式如下:“department.surname”。部门是由5个字符组成的代码。

DN的模板是这样形成的:

AUTH_LDAP_USER_DN_TEMPLATE = 'CN=%(user)s,ou=Department,ou=Users,dc=example,dc=com'

用户的占位符正在工作。问题是部门 OU 是可变的。这取决于用户 CN。由于这个库不允许部门的第二个占位符,我不知道该怎么办。当我为部门设置一个固定字符串时,一切正常,但是我无法验证其他部门的用户。

有人有办法解决这个问题吗?

提前致谢。

【问题讨论】:

  • 很难相信它只允许一个占位符。您是否尝试过 %(department) 并提供一个名为 department 的 vale?
  • 你是对的。为此,我将不得不更改 django_auth_ldap 的原始 backend.py。我不确定这是否是一个好习惯。可以吗还是有其他自定义的身份验证方式?

标签: python authentication ldap django-auth-ldap


【解决方案1】:

由于我的用户的 CN 格式是 department.user 并且所有部门代码都由 5 个字符组成,因此我开发了适合我的解决方法:

AUTH_LDAP_USER_DN_TEMPLATE = 'CN=%(user)s,ou=%(user).5s,ou=Users,dc=example,dc=com'

注意第一个 OU 中的 .5

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多