Oi,
Para resolver o problema de autenticação com colunas personalizadas no Laravel, você precisa fazer algumas adaptações no sistema de autenticação. Vou explicar o passo a passo:
Adaptando o Sistema de Autenticação
Configuração do Model User
Primeiro, adicione o método getAuthPassword() no seu modelo User:
public function getAuthPassword()
{
return $this->senha_Usuario;
}
Configuração do LoginController
No seu LoginController, sobrescreva o método username() para indicar qual coluna será usada para o login:
public function username()
{
return 'email_Usuario';
}
Ajuste na Tentativa de Autenticação
Ao fazer a tentativa de autenticação, use os nomes das suas colunas personalizadas:
if (Auth::attempt([
'email_Usuario' => $request->email_Usuario,
'senha_Usuario' => $request->senha_Usuario
])) {
$request->session()->regenerate();
return redirect()->intended('dashboard');
}
Considerações Importantes
Tabela de Usuários
- Certifique-se que a coluna de senha tenha pelo menos 60 caracteres de comprimento
- Mantenha uma coluna remember_token nullable para funcionalidade "lembrar-me"
Validação
Para a validação dos campos, ajuste conforme suas colunas personalizadas:
$credentials = $request->validate([
'email_Usuario' => ['required', 'email'],
'senha_Usuario' => ['required'],
]);
Criptografia
Lembre-se que o Laravel espera que a senha esteja criptografada usando o Hash::make(). Ao criar um usuário:
'senha_Usuario' => Hash::make($request->senha_Usuario)
Seguindo estas adaptações, o sistema de autenticação do Laravel funcionará corretamente com suas colunas personalizadas
Caso este post o tenha ajudado, por favor,
marcar como solucionado ☑️.
Bons Estudos! 🤓