我的使用者表結(jié)構(gòu)和laravel框架中的使用者驗證所建立的表結(jié)構(gòu)不一樣,例如laravel中的預(yù)設(shè)是通email登入的,而我的使用者表壓根就沒有email字段,這個還可以透過laravel的auth這個東西來實作使用者驗證碼?
是不是如果表格結(jié)構(gòu)和laravel中的不一樣就不能用它自帶的auth來驗證了呢?
認證0級講師
包含驗證所使用的user表(Models/User.php)的table,
驗證所讀取的使用者id欄位(username/email)
讀取的密碼欄位(password)
乃至於驗證方法(bcrypt)都是可以自己客製的。
如果你是用5.1LTS的版本,可以先去看認證這一章節(jié)的文檔
另外看一下你AuthController和UserModel裡所預(yù)設(shè)使用的Trait
User(Model)裡的Trait:Authenticatable
AuthController(Controller)裡的Trait:AuthenticatesAndRegistersUsers(下的AuthenticatesUsers)
中間的實現(xiàn)的方法都是你可以在對應(yīng)的Model和Controller裡自己定制覆蓋的
比如你所要求的用戶名不一樣,就可以透過覆蓋loginUsername方法搞定:
/**
* Get the login username to be used by the controller.
*
* @return string
*/
public function loginUsername()
{
return property_exists($this, 'username') ? $this->username : 'email';
}
多看文檔,多讀源碼。