## 定制认证
1.3版本中的新功能
可以通过继承`LDAPBackend`并重写`authenticate_ldap_user()`来进一步自定义身份验证过程。 第一个参数是未经身份验证的`ldap_user`,第二个是提供的密码。 其目的是为子类提供一个简单的认证前和认证后挂钩。
如果子类决定继续进行认证,则它必须调用继承的实现。 然后它可以返回经过认证的用户或None。 任何其他返回值的行为(如替换不同的用户对象)都是未定义的。 用户对象有更多的管理Django用户对象。
显然,在认证用户之前访问ldap_user.dn总是安全的。 访问`ldap_user.attrs`和其他应该是安全的,除非你依靠特殊的绑定行为,如`AUTH_LDAP_BIND_AS_AUTHENTICATING_USER`。