Spec-Zone.ru › Django 6.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/6.0/topics/auth/index/

Spec-Zone.ru

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