我正在使用下面的代码块,是从Web复制的:
AUTH_LDAP_REQUIRE_GROUP = "cn=GALAXY_login,ou=AppRoles,ou=GALAXY_TEAM,ou=Applications,o=IAM"
AUTH_LDAP_USER_FLAGS_BY_GROUP = {
"is_active":"cn=GALAXY_login,ou=AppRoles,ou=GALAXY_TEAM,ou=Applications,o=IAM",
"is_staff": "cn=GALAXY_login,ou=AppRoles,ou=GALAXY_TEAM,ou=Applications,o=IAM",
"is_superuser":"cn=GALAXY_superuser,ou=AppRoles,ou=GALAXY_TEAM,ou=Applications,o=IAM"
}
如果我只允许
GALAXY_login
登录到应用程序,将如何"is_superuser":"cn=GALAXY_superuser,ou=AppRoles,ou=GALAXY_TEAM,ou=Applications,o=IAM"
曾经返回
true
吗?我的理解是,我只允许组
GALAXY_login.
中的用户,那么"is_superuser"
对于任何用户如何正确? 最佳答案
您还需要授权GALAXY_superuser组角色的成员。您可以使用LDAPGroupQuery允许更多组登录。
参见Limiting Access:
单独AUTH_LDAP_REQUIRE_GROUP
和AUTH_LDAP_DENY_GROUP
可能不是
足以满足您的需求。在这种情况下,您可以使用
LDAPGroupQuery对象可对用户的内容执行更复杂的匹配
组。
例如 :
from django_auth_ldap.config import LDAPGroupQuery
AUTH_LDAP_REQUIRE_GROUP = (
LDAPGroupQuery("cn=GALAXY_login,ou=AppRoles,ou=GALAXY_TEAM,ou=Applications,o=IAM") |
LDAPGroupQuery("cn=GALAXY_superuser,ou=AppRoles,ou=GALAXY_TEAM,ou=Applications,o=IAM")
)