laravel5.4 更换字段实现用户登录

10. August 2017 Laravel 0

Laravel默认使用 email 字段来认证。如果你想用其他字段认证,可以在 LoginController 里面定义一个 username 方法。

public function username()
{
    return 'stdid';
}添加此方法即可实现。
在LoginController中可以看到use AuthenticatesUsers
在AuthenticatesUsers.php中实现了登录,注销等逻辑,默认有
public function username()
 {
 return 'email';
 }
通过
return $this->guard()->attempt(
 $this->credentials($request), $request->has('remember')
 );实现验证登录,在login.blade.php,在数据库表中,和控制器中,名称要一致,我使用stdid,如下
<input id="stdid" type="text" class="form-control" name="stdid" value="{{ old('stdid') }}" required autofocus>