Рубрики
Без рубрики

Узнайте систему аутентификации пользователя Django

Узнайте основные кусочки аутентификации Django и как они работают вместе, чтобы выросли вас и бегать с пользователями. Помечено Django, WebDev, Security, Python.

Введение

Предоставляя пользователям возможность создавать учетную запись, которую они могут войти в систему – это общая функция для многих веб-сайтов.

Пользователи могут понадобиться учетную запись для участия в потоке комментариев, сохранить свою личную информацию или передавать деньги. Независимо от того, каким бы ни был использование, вам необходимо создать систему аутентификации, которая проста и безопасна для ваших пользователей.

Прочитав этот пост, вы должны иметь твердое понимание того, как Django думает о аутентификации – от пользователей, к группам, до разрешений. Вы также увидите, как Django играет в безопасности, где он может, чтобы помочь вам избежать непреднамеренного вклад в создание информации ваших пользователей на « Я был Pwned “.

Пользователи

Для большинства веб-сайтов основное предприятие аутентификации является пользователем. Пользователь идентифицируется некоторой уникальной строкой, которая почти всегда является адресом электронной почты или имя пользователя.

Чтобы доказать, что кто-то – это то, кем они говорят, они должны предоставить пароль при создании учетной записи, и снова в любое время, когда они хотят аутентифицировать себя. Это должно быть знакомым: вы проходите через этот вид рабочего процесса в любое время, когда вы зарегистрируетесь на обслуживание, как Twitter или Netflix.

Django предоставляет пользовательскую модель для создания и управления пользователями. Пользователи Django Имейте имя пользователя и пароль, но также могут быть необязательно иметь адрес электронной почты и имя и фамилию:

from django.contrib.auth.models import User


rafaela = User('rafaela', password='$uper$ecretpassword')

# OR

rafaela = User(
    'Rafaela',
    email='rafaela@example.com',
    password='$upser$ecretpassword',
    first_name='Rafaela',
    last_name='Lòpez',
)

Если вы предпочитаете идентифицировать пользователей по их адресам электронной почты, я рекомендую заполнить имя пользователя с адресом электронной почты и сохранить адрес в поле электронной почты. Это позволит пользователям аутентифицироваться, используя свой адрес электронной почты, также позволяя вам продолжить использование встроенных функций Django, которые имеют дело с электронной почтой.

Django предоставляет уровень безопасности, когда речь идет о паролях. Он имеет встроенный набор валидаторов паролей, некоторые из которых включены по умолчанию в новых проектах. Вы можете написать свои собственные валидаторы для обеспечения применения любых правил паролей, которые вам могут понадобиться, но выбрать мудро – было показано, что Многие правила пароля приводят к снижению безопасности Действительно

В дополнение к проверке пароля, Django безопасно хранит информацию о пароле по умолчанию. Соли Django и пароли хэшей перед хранением их, когда создан пользователь, так Их plainext Password больше не доступен вне контекста запроса на начальную регистрацию или при входе в систему.

Хранение паролей в открытом тексте является удивительно распространенным надзором в отрасли, поэтому пусть Django будет вашей безопасности здесь!

Как и другие модели, которые вы, возможно, использовали в Django, пользовательские объекты могут быть запрошены и фильтрованы и так далее:

User.objects.filter(first_name='Rafaela')

У пользовательских объектов есть несколько других полей, атрибутов и методов, которые будут иметь смысл в контексте, когда вы читаете о функциях Django, которые включают пользователей.

Узнайте больше о группах, разрешениях и многое другое в Полная статья Действительно

Оригинал: “https://dev.to/easyaspython/learn-the-django-user-authentication-system-36pl”