{"title":"Autenticação de usuário no Django","version":"4.0","locale":"pt-br","docname":"topics/auth/index","url":"/pt-br/4.0/topics/auth/","canonical":"https://djangodocs.dev/pt-br/4.0/topics/auth/","summary":"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…","html":"<h1>Autenticação de usuário no Django<a class=\"heading-anchor\" href=\"#user-authentication-in-django\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h1>\n<div class=\"toctree-wrapper compound\">\n</div>\n<p id=\"module-django.contrib.auth\">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 &lt;/topics/auth/customizing&gt;’ para satisfazer as necessidades do seu projeto.</p>\n<section id=\"overview\">\n<h2>Visão Geral<a class=\"heading-anchor\" href=\"#overview\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>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.</p>\n<p>O sistema de autenticação consiste de:</p>\n<ul class=\"simple\">\n<li><p>Usuários</p></li>\n<li><p>Permissões: valores booleanos (sim ou não) designam se um usuário pode executar determinada tarefa.</p></li>\n<li><p>Grupos: Uma forma generica de aplicar etiquetas e permissões em mais de um usuário.</p></li>\n<li><p>Um sistema hashing configurável de senhas.</p></li>\n<li><p>Formulários e ferramentas de visualização para autenticação de usuários, ou restrição de conteúdo.</p></li>\n<li><p>Um sistema de backend plugável.</p></li>\n</ul>\n<p>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.</p>\n<ul class=\"simple\">\n<li><p>Checando força da senha</p></li>\n<li><p>Limitando tentativas de login</p></li>\n<li><p>Autenticação contra terceiros (OAuth, por exemplo)</p></li>\n<li><p>Object-level permissions</p></li>\n</ul>\n</section>\n<section id=\"installation\">\n<h2>Instalação<a class=\"heading-anchor\" href=\"#installation\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>O suporte de autenticação do Django está dentro do módulo contrib no <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth</span></code>. Por padrão, a configuração requerida está incluída no <code class=\"file docutils literal notranslate\"><span class=\"pre\">settings.py</span></code> gerado pelo <a class=\"reference internal\" href=\"/pt-br/4.0/ref/django-admin/#django-admin-startproject\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">django-admin</span> <span class=\"pre\">startproject</span></code></a>, e este consiste em dois itens listados na definição  do <a class=\"reference internal\" href=\"/pt-br/4.0/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">INSTALLED_APPS</span></code></a>:</p>\n<ol class=\"arabic simple\">\n<li><p>“‘django.contrib.auth’” contém o núcleo do framework de autenticação, e seus modelos padrão.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'django.contrib.contenttypes'</span></code> é o :doc:’sistema de contenttype &lt;/ref/contrib/contenttypes&gt;’ Django, que permite associar permissões aos modelos que você criar.</p></li>\n</ol>\n<p>e esses itens na sua configuração :setting:’MIDDLEWARE’:</p>\n<ol class=\"arabic simple\">\n<li><p><a class=\"reference internal\" href=\"/pt-br/4.0/ref/middleware/#django.contrib.sessions.middleware.SessionMiddleware\" title=\"django.contrib.sessions.middleware.SessionMiddleware\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">SessionMiddleware</span></code></a> gerencia <a class=\"reference internal\" href=\"/pt-br/4.0/topics/http/sessions/\"><span class=\"doc\">sessões</span></a> através de requisições.</p></li>\n<li><p><a class=\"reference internal\" href=\"/pt-br/4.0/ref/middleware/#django.contrib.auth.middleware.AuthenticationMiddleware\" title=\"django.contrib.auth.middleware.AuthenticationMiddleware\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">AuthenticationMiddleware</span></code></a> associa usuários com requisições de sessões em uso.</p></li>\n</ol>\n<p>Com essas configurações feitas, rodar o comando <code class=\"docutils literal notranslate\"><span class=\"pre\">manage.py</span> <span class=\"pre\">migrate</span></code> 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.</p>\n</section>\n<section id=\"usage\">\n<h2>Uso<a class=\"heading-anchor\" href=\"#usage\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<p><a class=\"reference internal\" href=\"/pt-br/4.0/topics/auth/default/\"><span class=\"doc\">Usando o Sistema de Autenticação Django</span></a></p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/pt-br/4.0/topics/auth/default/#user-objects\"><span class=\"std std-ref\">Trabalhando com objetos User</span></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/pt-br/4.0/topics/auth/default/#topic-authorization\"><span class=\"std std-ref\">Permissões e autorização</span></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/pt-br/4.0/topics/auth/default/#auth-web-requests\"><span class=\"std std-ref\">Autenticação em requisições web</span></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/pt-br/4.0/topics/auth/default/#auth-admin\"><span class=\"std std-ref\">Gerenciando usuários no admin</span></a></p></li>\n</ul>\n<p><a class=\"reference internal\" href=\"/pt-br/4.0/ref/contrib/auth/\"><span class=\"doc\">Referência da API para a implementação padrão</span></a></p>\n<p><a class=\"reference internal\" href=\"/pt-br/4.0/topics/auth/customizing/\"><span class=\"doc\">Personalizando Usuários e autenticação</span></a></p>\n<p><a class=\"reference internal\" href=\"/pt-br/4.0/topics/auth/passwords/\"><span class=\"doc\">Gerenciamento de senha no Django</span></a></p>\n</section>","rootId":"user-authentication-in-django","toc":[{"title":"Visão Geral","anchor":"overview","children":[]},{"title":"Instalação","anchor":"installation","children":[]},{"title":"Uso","anchor":"usage","children":[]}],"breadcrumbs":[{"docname":"topics/index","title":"Usando o Django","url":"/pt-br/4.0/topics/"}],"prev":{"docname":"topics/testing/advanced","title":"Advanced testing topics","url":"/pt-br/4.0/topics/testing/advanced/"},"next":{"docname":"topics/auth/default","title":"Usando o sistema de autenticação Django","url":"/pt-br/4.0/topics/auth/default/"},"formats":{"html":"/pt-br/4.0/topics/auth/","markdown":"/pt-br/4.0/topics/auth.md","json":"/pt-br/4.0/topics/auth.json"},"source":"https://github.com/django/django/blob/stable/4.0.x/docs/topics/auth/index.txt","official":"https://docs.djangoproject.com/pt-br/4.0/topics/auth/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9"],"inLocales":["en","zh-hans","fr","ja","id","it","pt-br","ko","es","el","pl"]}