Django项目多CN的LDAP集成:如何配置多组权限?
配置LDAP允许多个CN组的方法
方法1:使用LDAPGroupQuery(推荐,更灵活)
如果你用的是django-auth-ldap库,可以通过LDAPGroupQuery结合逻辑运算符组合多个组。示例代码如下:
from django_auth_ldap.config import LDAPGroupQuery # 用|运算符实现"或"逻辑,用户属于任意一个组即可通过验证 AUTH_LDAP_REQUIRE_GROUP = LDAPGroupQuery("CN=GROUP_NAME1,OU=MSG Distribution Groups,DC=XXX,DC=XXX,DC=XXX") | LDAPGroupQuery("CN=GROUP_NAME2,OU=MSG Distribution Groups,DC=XXX,DC=XXX,DC=XXX")
这种方式支持更复杂的逻辑组合,比如需要同时属于多个组时,可替换为&运算符。
方法2:直接编写LDAP过滤器字符串
如果你偏好原生LDAP语法,可以直接构造包含OR逻辑的过滤器字符串:
AUTH_LDAP_REQUIRE_GROUP = "(|(CN=GROUP_NAME1,OU=MSG Distribution Groups,DC=XXX,DC=XXX,DC=XXX)(CN=GROUP_NAME2,OU=MSG Distribution Groups,DC=XXX,DC=XXX,DC=XXX))"
这里的(|...)是LDAP的OR过滤器语法,括号内可添加任意数量的组DN。
注意事项
- 确保所有组的DN(如
CN=GROUP_NAME...)完全正确,匹配LDAP服务器中的实际路径 - 若使用其他LDAP认证框架,核心思路一致:通过LDAP的逻辑运算符(OR)包含多个目标组
内容的提问来源于stack exchange,提问作者Muhammad Ans Bilal
相关产品推荐
相关产品推荐

