Como é programado um sistema com vários tipos de usuários com permissões diferentes (e telas diferentes)
Por exemplo, num mesmo sistema eu tenho um usuário administrador que pode editar produtos e um usuário padrão que só pode visualizar as informações do produto.
Eu queria saber como definir isso. Eu crio tipos de permissões para cada um e armazeno no BD e quando o usuário logar eu chamo a tela correta? Isso pode ficar complexo…
Podem me dar uma luz sobre como isso é feito atualmente? Também seria muito bom se alguém tivesse um exemplo de sistema simples implementando isso no github ou outro repositório
Uma das possíveis soluções seria armazenar níveis de acesso, onde no cadastro do usuário você informaria o nível de acesso do usuário (admin, gerente, vendedor, secretária…).
Onde no BD você teria uma tabela para cadastrar as telas do sistema, uma outra tabela para cadastrar os níveis de acesso (informei alguns anteriormente), e com um relacionamento N x N entre essas duas tabelas você teria então uma tabela associativa do tipo nível de acesso por tela onde você armazenaria os tipos de permissões que o nível do usuário possuí (inclusão, alteração, exclusão, consulta, relatório…).
Tendo isso em mãos basta validar o acesso do usuário, liberando para o mesmo acesso somente as telas cadastradas no nível dele com suas permissões.
1 curtida