Аутентификация пользователя в Django ¶
Django поставляется с системой аутентификации пользователей. Он обрабатывает учетные записи пользователей, группы, разрешения и пользовательские сеансы на основе файлов cookie. В этом разделе документации объясняется, как реализация по умолчанию работает из коробки, а также как ее расширить и настроить в соответствии с потребностями вашего проекта.
Обзор ¶
Система аутентификации Django обрабатывает как аутентификацию, так и авторизацию. Вкратце, аутентификация проверяет, является ли пользователь тем, кем они себя называют, а авторизация определяет, что аутентифицированному пользователю разрешено делать. Здесь термин аутентификация используется для обозначения обеих задач.
Система авторизации состоит из:
- пользователей
- Разрешения: двоичные (да / нет) флаги, указывающие, может ли пользователь выполнять определенную задачу.
- Группы: общий способ применения меток и разрешений к нескольким пользователям.
- Настраиваемая система хеширования паролей
- Формы и инструменты просмотра для входа в систему или ограничения содержимого
- Подключаемая бэкэнд-система
Система аутентификации в Django стремится быть очень общей и не предоставляет некоторых функций, обычно встречающихся в системах веб-аутентификации. Решения некоторых из этих распространенных проблем были реализованы в сторонних пакетах:
- Проверка надежности пароля
- Регулирование попыток входа в систему
- Аутентификация от третьих лиц (например, OAuth)
- Разрешения на уровне объекта
Установка ¶
Поддержка аутентификации входит в состав модуля Django contrib
django.contrib.auth
. По умолчанию необходимая конфигурация уже включена в settings.py
сгенерированный пользователем , они состоят из двух элементов, перечисленных в ваших
настройках:django-admin
startproject
INSTALLED_APPS
'django.contrib.auth'
содержит ядро структуры аутентификации и ее модели по умолчанию.'django.contrib.contenttypes'
- это система типов контента Django , которая позволяет связывать разрешения с созданными вами моделями.
и эти элементы в ваших MIDDLEWARE
настройках:
SessionMiddleware
управляет сеансами по запросам.AuthenticationMiddleware
связывает пользователей с запросами с помощью сеансов.
С этими настройками запуск команды создает необходимые таблицы базы данных для моделей, связанных с аутентификацией, и разрешений для любых моделей, определенных в ваших установленных приложениях.manage.py migrate