2017-03-17 23 views
1

你好傢伙即時嘗試覆蓋身份驗證功能創建登錄表單,其中 用戶可以使用電子郵件ID或電話號碼登錄,所以即時嘗試覆蓋內置身份驗證這裏是位置供應商\ laravel \框架的\ src \基礎\權威性\ authenticatesuser.php如何覆蓋用戶名方法我想通過2值

這裏是代碼我想覆蓋$ USERNAME 我想通過在$用戶名,如「電話」和「電子郵件」使用「或」條件如何兩個可變我可以做到這一點

public function loginUsername() 
    { 
    return property_exists($this,'username') ? $username : 'phone'; 

    } 

這是一個最好的方式來編輯?或任何其他方式,我可以實現通過身份驗證提供的所有功能在laravel 5.2

回答

0

您不必編輯該方法,但您必須改寫它。

public function loginUsername() 
{ 
    $loginUsernames = ['username', 'email', 'phone']; 

    foreach ($loginUsernames as $loginUsername) { 
     if (property_exists($this, $loginUsername)) { 
      return $loginUsername; 
     } 
    } 

    throw new \Exception('Unknown user type!'); 
} 
+0

其投擲錯誤未知的用戶類型我給了正確的憑據 –