Autenticação de usuário no Django

Django vem com um sistema de autenticação de usuário. Ele cuida de contas de usuários, grupos, permissões e sessões de usuários baseadas em cookies. Essa seção da documentação explica como a implementação padrão funciona assim que você instala, assim como ensina a :doc:’estender e customizar </topics/auth/customizing>’ para satisfazer as necessidades do seu projeto.

Visão Geral

O sistema de autenticação Django cuida da autenticação e da autorização. Resumidamente, autenticação verifica se um usuário é quem ele diz que é, e autorização determina o que um usuário autenticado pode fazer. Aqui, o termo autenticação se refere às duas tarefas.

O sistema de autenticação consiste de:

  • Usuários

  • Permissões: valores booleanos (sim ou não) designam se um usuário pode executar determinada tarefa.

  • Grupos: Uma forma generica de aplicar etiquetas e permissões em mais de um usuário.

  • Um sistema hashing configurável de senhas.

  • Formulários e ferramentas de visualização para autenticação de usuários, ou restrição de conteúdo.

  • Um sistema de backend plugável.

O sistema de autenticação em Django pretende ser bastante genérico e não fornece alguns recursos comumente encontrados em sistemas de autenticação de rede. Soluções para esses problemas comuns foram implementadas em pacotes de terceiros.

  • Checando força da senha

  • Limitando tentativas de login

  • Autenticação contra terceiros (OAuth, por exemplo)

  • Object-level permissions

Instalação

O suporte de autenticação do Django está dentro do módulo contrib no django.contrib.auth. Por padrão, a configuração requerida está incluída no settings.py gerado pelo django-admin startproject, e este consiste em dois itens listados na definição do INSTALLED_APPS:

  1. “‘django.contrib.auth’” contém o núcleo do framework de autenticação, e seus modelos padrão.

  2. 'django.contrib.contenttypes' é o :doc:’sistema de contenttype </ref/contrib/contenttypes>’ Django, que permite associar permissões aos modelos que você criar.

e esses itens na sua configuração :setting:’MIDDLEWARE’:

  1. SessionMiddleware gerencia sessões através de requisições.

  2. AuthenticationMiddleware associa usuários com requisições de sessões em uso.

Com essas configurações feitas, rodar o comando manage.py migrate cria as tabelas de banco de dados necessárias para modelos relacionados a autenticação e permissões para quaisquer modelos definidos em suas aplicações instaladas.

Uso

Usando o Sistema de Autenticação Django

Referência da API para a implementação padrão

Personalizando Usuários e autenticação

Gerenciamento de senha no Django

Back to Top