Spec-Zone.ru › Django 1.9

Авторизация пользователей в 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_CLASSES:

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

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

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

Использование стандартной реализации Django

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

Справочник по API для стандартной реализации

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

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

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

Spec-Zone.ru

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