如果自己的使用者表結構和laravel自帶的auth的使用者表結構不一樣,怎麼進行使用者驗證?
PHP中文网
PHP中文网 2017-05-16 16:50:30
0
1
692

我的使用者表結構和laravel框架中的使用者驗證所建立的表結構不一樣,例如laravel中的預設是通email登入的,而我的使用者表壓根就沒有email字段,這個還可以透過laravel的auth這個東西來實作使用者驗證碼?

是不是如果表格結構和laravel中的不一樣就不能用它自帶的auth來驗證了呢?

PHP中文网
PHP中文网

认证0级讲师

全部回覆(1)
淡淡烟草味

包含驗證所使用的user表(Models/User.php)的table,

驗證所讀取的使用者id欄位(username/email)

讀取的密碼欄位(password)

乃至於驗證方法(bcrypt)都是可以自己客製的。

如果你是用5.1LTS的版本,可以先去看認證這一章節的文檔

另外看一下你AuthController和UserModel裡所預設使用的Trait

User(Model)裡的Trait:Authenticatable

AuthController(Controller)裡的Trait:AuthenticatesAndRegistersUsers(下的AuthenticatesUsers)

中間的實現的方法都是你可以在對應的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';
}

多看文檔,多讀源碼。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板