我正在使用以下代码块,是从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"
对任何用户都是正确的吗?
答案 0 :(得分:0)
您还需要授权 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")
)