Usuarios no MySQL com sistemas
27/11/2015
0
Por que estou fazendo essa pergunta, vi um banco feito de um sistema, nele tinha uma tabela de usuarios, fazemos a relação?
Luiz Nogueira
Posts
28/11/2015
William
Nesse caso o perfil ADMINISTRATIVO tinha permissão de escrita, leitura em praticamente todas as tabelas, já o perfil de VISITANTE tinha permissão de leitura e escrita em apenas uma tabela quer era de contatos, pois era possível enviar contato pelo site e todos eram gravados na tabela contatos para manter o histórico.
Já tive outro caso em que existia 3 perfis, MASTER, ADMINISTRATIVO e FUNCIONARIO, dessa forma você tem permissões por grupo, não é viável criar um usuário no MySQL para cada funcionário da empresa.
Após você definir os acessos dos perfis e criar esses usuário no MySQL basta disponibilizar uma opção na tela para cadastro de usuários na sua aplicação onde pode ser informado qual o perfil do usuário que está sendo cadastrado.
Observação: Nenhum dos perfis que crio tem permissão de executar instruções DDL tais como: DROP, CREATE, ALTER, TRUNCATE e etc., isso é outro nível de usuário.
28/11/2015
Luiz Nogueira
29/11/2015
William
Sim essa é sempre a abordagem mais correta e segura, independente do SGBD (MySQL, SQL Server, PostgreSQL e etc)
Na verdade ocorre que no momento do login a primeira consulta para validar os dados do usuário tem que ser usando a conexão com privilégio ADMINISTRATIVO para ter acesso a tabela de usuários, depois que capturo os dados fecho essa conexão e inicio uma nova conexão com o privilégio capturado na consulta.
Você pode também bloquear funcionalidades na aplicação conforme o privilegio, pois essa do banco é muito boa para garantir a segurança contra invasores mas para o usuário leigo somente esconder um menu já ajuda bastante.
29/11/2015
Luiz Nogueira
Te agradeço pela imensa ajuda William!
Clique aqui para fazer login e interagir na Comunidade :)