Spec-Zone.ru › Django 3.0

Авторизация пользователей в Django

Django поставляется с системой аутентификации пользователей. Она обрабатывает учетные записи пользователей, группы, разрешения и сессии пользователей на основе файлов cookie. Этот раздел документации объясняет, как работает реализация по умолчанию, а также как её можно расширить и настроить в соответствии с потребностями вашего проекта.

Обзор

Система аутентификации Django обрабатывает как аутентификацию, так и авторизацию. Вкратце, аутентификация проверяет, является ли пользователь тем, за кого он себя выдает, а авторизация определяет, что аутентифицированный пользователь может делать. Здесь термин «аутентификация» используется для обозначения обеих задач.

Система аутентификации состоит из:

  • Пользователей
  • Разрешений: двоичные (да/нет) флаги, указывающие, может ли пользователь выполнить определённую задачу.
  • Групп: универсальный способ применения меток и разрешений к нескольким пользователям.
  • Настраиваемой системы хэширования паролей
  • Форм и инструментов представлений для входа пользователей или ограничения доступа к контенту
  • Подключаемой системы бэкенда

Система аутентификации в Django имеет очень общий характер и не предоставляет некоторые функции, которые часто встречаются в системах веб-аутентификации. Решения для некоторых из этих распространённых проблем реализованы в сторонних пакетах:

  • Проверка сложности паролей
  • Ограничение попыток входа
  • Аутентификация по сторонним сервисам (например, OAuth)
  • Разрешения на уровне объектов

Установка

Поддержка аутентификации входит в состав модуля Django contrib в django.contrib.auth. По умолчанию необходимая конфигурация уже включена в settings.py созданные с помощью django-admin startproject, эти конфигурации состоят из двух пунктов, указанных в настройке INSTALLED_APPS:

  1. 'django.contrib.auth' содержит ядро системы аутентификации и её модели по умолчанию.
  2. 'django.contrib.contenttypes' — система типов содержимого Django системы типов содержимого, которая позволяет связывать разрешения с создаваемыми вами моделями.

и эти пункты в вашей настройке MIDDLEWARE:

  1. SessionMiddleware управляет сессиями между запросами.
  2. AuthenticationMiddleware связывает пользователей с запросами, используя сессии.

После настройки этих параметров выполнение команды manage.py migrate создаёт необходимые таблицы базы данных для моделей, связанных с аутентификацией, и разрешений для любых моделей, определённых в установленных приложениях.

Использование

Использование реализации Django по умолчанию

  • Работа с объектами User
  • Разрешения и авторизация
  • Аутентификация в веб-запросах
  • Управление пользователями в админке

Справочник API для реализации по умолчанию

Настройка пользователей и аутентификации

Управление паролями в Django

© Django Software Foundation and individual contributors
Licensed under the BSD License.
https://docs.djangoproject.com/en/2.2/topics/auth/index/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API