2016-02-27 95 views
0

目前我已经有了默认的Laravel 5.2身份验证机制。我试图改变这一点,以便用户可以使用ID登录而不是电子邮件。我不能在我的控制器中真正使用username-attribute,因为我不希望用户选择该ID。我仍然想通过自动增量分配并通过电子邮件发送给他。所以我的注册表格应该有email,passwordpassword_confirmation这两个字段,我的登录表单为idpassword。 这有可能没有重写整个事情?我非常感谢任何帮助。谢谢!Laravel 5.2以身份而不是电子邮件登录

回答

0

如果你去照亮\基金会\验证\ AuthenticatesUsers你会看到laravel默认searchs领域电子邮件:

public function loginUsername() 
{ 
    return property_exists($this, 'username') ? $this->username : 'email'; 
} 

您可以像这样在你的AuthController重写此:

protected $username = 'id'; 

希望这会有所帮助!

+0

出于某种原因,我觉得我不能使用它,因为它也会影响注册。但当然你是对的!谢谢! – Sebastian

+0

它不应该影响你的注册过程,试试看,并让我知道。 –

0

您可以使用attempt方法,请参阅下面的代码或this link

if (Auth::attempt(['id' => Request::input('id'), 'password' => Request::input('password')])) { 
    // Your user is logged in. 
} 
相关问题