Аутентификация пользователя в Django

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

Обзор

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

Система авторизации состоит из:

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

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

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

Установка

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

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

и эти элементы в ваших MIDDLEWAREнастройках:

  1. SessionMiddlewareуправляет сеансами по запросам.
  2. AuthenticationMiddleware связывает пользователей с запросами с помощью сеансов.

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

Copyright ©2021 All rights reserved