多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 搜索/绑定 现在您可以与LDAP服务器通话,下一步是验证用户名和密码。 有两种方法可以做到这一点,称为搜索/绑定和直接绑定。 第一个涉及以匿名方式或使用固定帐户连接到LDAP服务器,并搜索认证用户的专有名称。 然后我们可以尝试再次使用用户的密码进行绑定。 第二种方法是从他的用户名中派生用户的DN,并尝试直接绑定为用户。 因为LDAP搜索出现在配置的其他地方,所以提供LDAPSearch类来封装搜索信息。 在这种情况下,过滤器参数应该包含占位符%(user)。 搜索/绑定方法的一个简单的配置看起来像这样(一些默认值包括为了完整性): ~~~ import ldap from django_auth_ldap.config import LDAPSearch AUTH_LDAP_BIND_DN = "" AUTH_LDAP_BIND_PASSWORD = "" AUTH_LDAP_USER_SEARCH = LDAPSearch("ou=users,dc=example,dc=com", ldap.SCOPE_SUBTREE, "(uid=%(user)s)") ~~~ 这将执行一个匿名绑定,在“`ou = users,dc = example,dc = com`”下搜索一个uid与用户名匹配的对象,并尝试使用该DN和用户密码进行绑定。 搜索必须返回一个结果,否则认证将失败。 如果您不能匿名搜索,则可以将`AUTH_LDAP_BIND_DN`设置为授权用户的专有名称,将`AUTH_LDAP_BIND_PASSWORD`设置为该密码。