我正在使用下面的代码块,是从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_GROUPAUTH_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")
)

10-08 05:41
查看更多