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.

Back to Top