Как AUTH_LDAP_REQUIRE_GROUP работает в Django? - PullRequest
0 голосов
/ 31 декабря 2018

Я использую следующий блок кода, скопированный с веб-сайта:

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" будет правдой для любого пользователя?

1 Ответ

0 голосов
/ 31 декабря 2018

Вам также необходимо авторизовать членов групповой роли GALAXY_superuser .Вы можете использовать LDAPGroupQuery , чтобы разрешить нескольким группам регистрироваться.

См. Ограничение доступа :

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")
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...