Cadastro e Login com Python - #07 Permissões e Níveis de Acesso
05/02/2022Hoje começaremos a aprender como definir permissões e níveis de acesso dentro do sistema de cadastro e login com Python.
Permissões no Django
app/templates/dashboard/home.html
Para adicionar permissões precisamos editar as tabelas do banco de dados auth_permission e a tabela auth_user_user_permissions.
Posteriormente podemos testar seu uso no código:
{% extends 'main.html' %}
{% block content %}
{% if request.user.is_authenticated %}
<h1>Área Restrita</h1>
Bem vindo <br>
<a href="/logouts/">Sair</a>
<hr>
{% if perms.admin.can_edit_users %}
<p>Como você tem permissão de editar usuários você pode ver isso!</p>
{% endif %}
{% if perms.admin.can_delete_posts %}
<a href="#">Deletar usuários</a>
{% endif %}
{% else %}
Você não tem acesso a essa área!
{% endif %}
{% endblock %}
app/views.py
O ideal é inserir a permissão do usuário assim que ele for cadastrado no sistema. O Django disponibiliza o método para fazer isso:
#Inserção dos dados dos usuários no banco
def store(request):
data = {}
if(request.POST['password'] != request.POST['password-conf']):
data['msg'] = 'Senha e confirmação de senha diferentes!'
data['class'] = 'alert-danger'
else:
user = User.objects.create_user(request.POST['user'], request.POST['email'], request.POST['password'])
user.first_name = request.POST['name']
user.save()
user.user_permissions.add(27)
data['msg'] = 'Usuário cadastrado com sucesso!'
data['class'] = 'alert-success'
return render(request,'create.html',data)
Por hoje é só! Sucesso nos códigos e na vida!
Posts Relacionados
Cadastro e Login com Python - #06 Logout e Senha
No tutorial de hoje trabalharemos com logout e troca de senha dentro do sistema de cadastro e login da linguagem de programação Python.
Data Science and Machine Learning - #34 SVM
No tutorial de hoje aprenderemos um novo modelo de generalização de dados, conhecido como SVM (Suport Vector Machine).