LDAP身份验证:OU(组织单位)中的变量

时间:2019-05-05 03:09:02

标签: python authentication ldap django-auth-ldap

我正在使用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。由于此库不允许部门使用第二个占位符,因此我不知道该怎么办。当我为部门放置一个固定的字符串时,一切正常,但随后我无法对其他部门的用户进行身份验证。

有人有解决这个问题的想法吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

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

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

在第一个OU中注意 .5