Аутентификация пользователя в 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

Copyright ©2020 All rights reserved