forum
forum copied to clipboard
Trocar campo de Autenticação Laravel 5.4
Descrição Geral do Problema
Problema Encontrado
Estou tentando trocar o padrão de autenticação do laravel 5.4 do campo e-mail para usuario.
Abordagem
Após ver a documentação achei uma opção de usar a function:
public function username()
{
return 'username';
}
Porém ao realizar essa opção o mesmo não consegue logar no sistema, nem com o e-mail e nem com o usuario, qual procedimento posso realizar?
Atualização 1
Se precisar atualizar a sua pergunta, adicione seções como essa.
Solução
Se o problema foi resolvido, adicione uma seção de solução como essa
você quer substituir a opção de login padrão de email ou poder utilizar as duas opções? Dá uma olhada: http://laraveldaily.com/auth-login-with-username-instead-of-email/
ah, para sobrescrever a função padrão
public function username() { return 'email'; }
para a função:
public function username() { return 'username'; }
Você precisa criar um migration especificando corretamente a tabela username. Fez isso?
Obrigado pela resposta.
Eu tenho uma tabela especifica de usuarios, na model eu coloquei a tabela
protected $table = "usuarios";
ai se eu usar o padrão do laravel por e-mail consigo fazer o login corretamente. Porém quando criei essa tabela não deixei o e-mail como unique assim tenho vários e-mails repetidos. O unico campo que está como unique é o usuario. Ao realizar a troca da função colocando o return como usuario o sistema não apresenta nenhum erro, porém retorna a tela de login.
Tentei fazer os procedimentos do anexo, mas não funcionou, acho também devido a versão do laravel que foi usada no exemplo não é a mesma
@evandrorisso Segue um gist com um exemplo bem básico mas funcional feito no laravel 5.4
Olá, e como ficaria a recuperação de senha. Por padrão o laravel busca o campo email na tabela reset_passwords como trocar para login?
@thigas88 resolvi esse problema a uns anos atrás, veja se te ajuda: https://stackoverflow.com/questions/29268071/how-to-make-a-restful-password-reminder-and-change-user-email-field-to-username/29268800#29268800
Vlw @Maykonn ajudou de mais aqui cara. Mas o que eu queria efetivamente era mudar o campo email da tabela reset_passwords para login. Meu objeto usuário não tem o campo email, está no objeto pessoa associado, mas usando a função consigo buscar o email da pessoa e retornar.