Este módulo define quem acessa o quê dentro do BarberBot, usando: sessão (nível do usuário), tokens de autenticação e regras por assinatura/plano.
tabela: usuarios – contém o campo nivel (usado no controle de acesso)tabela: usuarios_permissoes – permissões específicas por usuário (override)tabela: acessos – catálogo de permissões/módulos (nome/chave/grupo)tabela: grupo_acessos – agrupamento/regras por grupo (quando usado)tabela: assinaturas, grupo_assinaturas, itens_assinaturas – regras por plano/assinaturaNa sessão (conforme teu código de login):
$_SESSION['id'], $_SESSION['nivel'], $_SESSION['nivel_usuario'], $_SESSION['aut_token_1010']$_SESSION['id'], $_SESSION['nome'], $_SESSION['aut_token_505052022']nivel na sessão (ex.: Admin, Profissional, etc.).aut_token_1010 ou aut_token_505052022)nivel permite acessar o módulo/rotausuarios_permissoes pode liberar/bloquear ações específicas por usuário.Exemplo simples (padrão) que usa o que teu login realmente grava:
<?php
session_start();
/* 1) Token obrigatório */
if (!isset($_SESSION['aut_token_1010'])) {
header("Location: ../index.php");
exit;
}
/* 2) Nível obrigatório (exemplo: só Admin) */
$nivel = $_SESSION['nivel'] ?? '';
if ($nivel !== 'Administrador' && $nivel !== 'Admin' && $nivel !== '1') {
header("Location: ../bloqueio.php");
exit;
}
?>
Observação: o valor de nivel pode ser string ou número (depende do que está salvo na tabela usuarios).
<?php
session_start();
if (!isset($_SESSION['aut_token_505052022'])) {
header("Location: ../index.php");
exit;
}
/* Cliente autenticado */
$idCliente = $_SESSION['id'] ?? 0;
if (!$idCliente) {
header("Location: ../index.php");
exit;
}
?>
assinaturas (pago e datas válidas), recursos podem ser liberados.grupo_assinaturas e itens_assinaturas definem o “pacote” (básico/premium) e itens do plano.bloqueio.php com mensagem clara.verifica_login.php) para não repetir código.bloqueio.php e registra log (se tiver logs).