Autenticação de Usuários
Pessoal, preciso de uma sugestão.
Laravel 6.x
Tenho 3 tabelas diferentes para 3 tipos de usuários diferente.
Queria apena um sistema de login para os 3 (dominio.com/login)
o que há de comum nas 3 tabelas são os campos email e password.
Qual a ideia: Quando o usuário tentar logar o sistema irá verificar na tabela 1, não tem o e-mail, vá para a tabela 2, se não para a tabela 3.
Caso não encontre o email nas 3 tabelas, então ele não está cadastrado.
Alguém tem alguma ideia?
At.te
Olá, Ediel!
Tudo bem?
É possível mudar os guards de autenticação em runtime.
Mas, antes de indicar esse caminho, preciso entender o que por que optou trabalhar com 3 tabelas diferentes?
Meu sistema tem o admin, o consultor e o cliente. Cada um com um ambiente diferente.
Só que a longo prazo terei de mais mil usuários final.
Mas estava pensando aqui, acho que vou jogar todos na tabela user mesmo. Porém fiquei duas dúvidas:
1º: Como farei o redirecionamento para o ambiente correto?
2º: Como coloco mais de um critério de autenticação? (e-mail, senha, tipoUsuario e status?
Dúvida extra: Como fazer para o usuário cliente não tenha permissão de acessar a área do consultor?
At.te
Cada um terá acesso ao seu próprio dashboard?
Se sim, seria melhor deixar cada um em tabela separada mesmo. E nesse caso já setar no guad web o model correspondente.
1 - Se deixar todos na mesma tabela, pode redirecionar após fazer a autenticação manual, pelo tipo do usuário.
2 - Utilizando autenticação manual: https://laravel.com/docs/7.x/authentication#authenticating-users
if (Auth::attempt(['email' => $email, 'password' => $password, 'active' => 1])) {
// The user is active, not suspended, and exists.
}
2 - Utilizando autenticação manual: https://laravel.com/docs/7.x/authentication#authenticating-users
if (Auth::attempt(['email' => $email, 'password' => $password, 'active' => 1])) {
// The user is active, not suspended, and exists.
}
Isso eu faço em qual controller?
Você pode criar um controller novo para fazer isso. AuthController
Cada um terá acesso ao seu próprio dashboard? Sim
Se sim, seria melhor deixar cada um em tabela separada mesmo. E nesse caso já setar no guad web o model correspondente. No plano ideal seria isso. Como posso fazer?
Estou fazendo o seu curso sobre MULTI-TENANCY MULTI DATABASE.
Não está muito claro, se cada um terá acesso ao seu próprio dashboard, então você terá várias implementações de código, uma para cada admin dashboard?
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!