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
:
“‘django.contrib.auth’” contém o núcleo do framework de autenticação, e seus modelos padrão.
'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’:
SessionMiddleware
gerencia sessões através de requisições.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