## 搜索/綁定
現在您可以與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`設置為該密碼。