Django с Apache Веб-сервер на сервере Ubuntu: Попытка войти с пользователями Active Directory - PullRequest
1 голос
/ 20 апреля 2020

Я пытаюсь аутентифицировать своих django пользователей через интерфейс ldap контроллера домена. Мой тестовый код успешно работал для связи с активным каталогом. Но настройка django для принятия этого не работала до сих пор. Мой тест для входа через браузер с именем хоста / администратором не сработал: пожалуйста, введите правильное имя пользователя и пароль для учетной записи персонала. Учтите что оба поля могут быть чувствительны к регистру. Верны ли мои настройки в settings.py и нужно ли их активировать для django (или apache)? Какое имя пользователя я должен использовать для входа в систему при django имени пользователя? Как в windows логин? python проверка manage.py не приводит к сбоям.

Вот моя выдержка settings.py:

import ldap
from django_auth_ldap.config import LDAPSearch, GroupOfNamesType

AUTH_LDAP_SERVER_URI = "ldap://<IP Adress>"
AUTH_LDAP_BIND_DN = "cn=<existing_bind_user>,ou=<xxx>,dc=<domain>,dc=com"
AUTH_LDAP_BIND_PASSWORD = "<password>"
AUTH_LDAP_USER_DN_TEMPLATE = 'sAMAccountName=%(user)s,ou=<xxx>,dc=<domain>,dc=com'

#Inside the ou "Django" are the 3 different groups G_Django_Admin,G_Django_User,...
AUTH_LDAP_GROUP_SEARCH = LDAPSearch("ou=Django,ou=<xxx>,dc=<domain>,dc=com",ldap.SCOPE_SUBTREE,"(objectClass=groupOfNames)",)
AUTH_LDAP_GROUP_TYPE = GroupOfNamesType(name_attr="cn")

AUTH_LDAP_USER_ATTR_MAP = {
    "username": "sAMAccountName",
    "first_name": "givenName",
    "last_name": "sn",
    "email": "mail"}

AUTH_LDAP_USER_FLAGS_BY_GROUP = {
    "is_active": "cn=G_Django_User,ou=Django,ou=<xxx>,dc=<domain>,dc=com",
    "is_staff": "cn=G_Django_Staff,ou=Django,ou=<xxx>,dc=<domain>,dc=com",
    "is_superuser": "cn=G_Django_Admin,ou=Django,ou=<xxx>,dc=<domain>,dc=com",
}

AUTH_LDAP_ALWAYS_UPDATE_USER = True
AUTH_LDAP_FIND_GROUP_PERMS = True
AUTH_LDAP_CACHE_TIMEOUT = 3600
AUTHENTICATION_BACKENDS = (
    "django_auth_ldap.backend.LDAPBackend",
    "django.contrib.auth.backends.ModelBackend",
)

С уважением, Берни

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...