Авторизация пользователей в 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 создает необходимые таблицы базы данных для моделей авторизации и разрешений для любых моделей, определенных в установленных приложениях.
Использование
Использование стандартной реализации Django
- Работа с объектами пользователя
- Разрешения и авторизация
- Авторизация в веб-запросах
- Управление пользователями в админке
Справочник API по стандартной реализации
Настройка пользователей и авторизации
© Django Software Foundation and individual contributors
Licensed under the BSD License.
https://docs.djangoproject.com/en/1.10/topics/auth/index/