## 限制訪問
最簡單的使用組是限制允許登錄的用戶。如果設置了`AUTH_LDAP_REQUIRE_GROUP`,那么只有屬于該組成員的用戶才能成功進行身份驗證。` AUTH_LDAP_DENY_GROUP`是相反的:如果有,該組的成員將被拒絕。
~~~
AUTH_LDAP_REQUIRE_GROUP = "cn=enabled,ou=groups,dc=example,dc=com"
AUTH_LDAP_DENY_GROUP = "cn=disabled,ou=groups,dc=example,dc=com"
~~~
但是,這兩個設置本身可能不足以滿足您的需求。 在這種情況下,您可以使用`LDAPGroupQuery`對象對用戶組執行更復雜的匹配。 例如:
~~~
from django_auth_ldap.config import LDAPGroupQuery
AUTH_LDAP_REQUIRE_GROUP = (
(
LDAPGroupQuery("cn=enabled,ou=groups,dc=example,dc=com") |
LDAPGroupQuery("cn=also_enabled,ou=groups,dc=example,dc=com")
) &
~LDAPGroupQuery("cn=disabled,ou=groups,dc=example,dc=com")
)
~~~
上面這個例子的幾個特征很重要。 首先,在一個設置中處理`AUTH_LDAP_REQUIRE_GROUP`和`AUTH_LDAP_DENY_GROUP`的情況。 其次,您可以在這些查詢中使用三個運算符:`&, |, 和 ~: and, or, 和 not`
配置組時,可以始終從`user.ldap_user.group_dns`或`user.ldap_user.group_names`獲取用戶組的列表。 接下來的兩節將介紹更多高級組的使用。