esquiloesper...
Cyber Highlander
Moderador
7.1K Mensagens
2.2K Curtidas
O problema de autenticação parece simples mas não se engane: ele não é!
Por exemplo, em algum momento pode ser necessário diferenciar um administrador de um cliente, sem falar nos convidados (sem login).
Existem muitos exemplos de como criar um controle básico de usuário/senha, mas servem apenas para aprendizagem.
Por isto eu recomendo que, para aplicação real, use algo seguro (framework) para gerenciar seus usuários, como o Django.
https://docs.djangoproject.com/pt-br/3.0/topics/auth/
Ele possui fácil integração com o SQLite:
https://docs.djangoproject.com/pt-br/3.0/intro/tutorial02/
Vai gastar algum tempo com o estudo dele e testes, mas no fim vale a pena pela segurança que vai ter. Afinal, ninguém gosta de dores de cabeça.
Navegar é preciso, viver... também.
Kleber March...
Veterano
Registrado
322 Mensagens
291 Curtidas
Apenas complementando a resposta acima um pouco: o funcionamento básico de qualquer sistema de login/autorização é consultar usuário no banco de dados, consultar senha para ver se pertence àquele usuário e, caso positivo, permitir o login. De início é realmente simples, porém, além das complicações já citadas, outro grande problema é a segurança envolvida. Sendo curto e grosso: nunca se deve armazenar senhas em banco de dados. Existem várias maneiras para resolver esse problema e quase todas (se não todas mesmo) fazem uso de algoritmos de criptografia. Daí vem o motivo de usar frameworks já prontas: essa parte de segurança já está pronta. Não só isso como também sistemas para recuperação de senhas, confirmação de e-mails, etc...
Mas não se acomode apenas em usar o framework. Como disse o @esquiloesperto, você vai gastar um tempo estudando eles e pode até estudar detalhes de sua implementação se quiser que a aprendizagem seja ideal. Bons estudos
Shura16
Ubbergeek
Registrado
2.5K Mensagens
601 Curtidas
Olá, sou novo por aqui!
Estava estudando um pouco de db, eu já sei criar db e inserir tabelas e valores, mas tenho uma dúvida!
Por exemplo, autenticação, como faria pra comparar os valores do login e senha pra ver se o usuário se encontra registrado?
Agradeço a quem ajudar!
Basicamente você consulta o usuário por nome no banco de dados.
Se ele existir, traz o nome e senha dele.
Descriptografa a senha (como já recomendado ela foi armazenada de forma criptografada no banco).
Compara a senha que a pessoa digitou com a senha que veio do banco, em caso positivo deixa passar.
É interessante fazer um seu para estudo e depois partir para frameworks como já citado acima.
Coragem não é ausência de medo e sim o controle dele.
Linux em casa!
Windows 10, na empresa!
Agora:
Android no bolso!