2016-11-19 22 views
0

我遇到了與此身份驗證有關的問題,具體確認如何顯示錯誤。這表示「它處於活動狀態」。代碼有效,用戶無法登錄,但沒有錯誤。我如何去做?Laravel中的顯示錯誤內置Auth與確認的字段Laravel 5.3

class LoginController extends Controller 
{ 

    use AuthenticatesUsers; 

    /** 
    * Get the needed authorization credentials from the request. 
    * 
    * @param \Illuminate\Http\Request $request 
    * @return array 
    */ 
    protected function credentials(\Illuminate\Http\Request $request) 
    { 
     $credentials = $request->only($this->username(), 'password'); 

     return array_add($credentials, 'active', '1'); 
    } 
+0

laravel的檢查會議閃存文件,你可以像這個return(something) - > with('messages error,'你的自定義文本錯誤'); –

+0

我知道消息錯誤,但我不知道如何在內置身份驗證中執行此操作。 – Rbex

+0

你想要哪個視圖返回? –

回答

1

RegistersUsers特質有一個函數

protected function registered(Request $request, $user) 
{ 
    if(!$user->active){ 
     // store msg in session and display to user 
     Auth::logout(); 
    } 

} 

同樣

AuthenticatesUsers有一個函數

protected function authenticated(Request $request, $user) 
{ 
    if(!$user->active){ 
     //store msg in session and display to user 
     Auth::logout(); 
    } 
} 
+0

謝謝兄弟!你是一個搖滾明星... – Rbex

0

嘗試這樣的:

加上你的類控制器的

use app\User; 

控制器

protected function credentials(\Illuminate\Http\Request $request) 
    { 
     $credentials = $request->only($this->username(), 'password'); 
     $user_active = User::where('username', $request->username)->first(); 
     if ($user_active->active != 1){ 
       return 'error'; 
     }else{ 

     return array_add($credentials, 'active', '1'); 
     } 
    } 

您可以將用戶具有 「主動」 驗證= 1,如果用戶嘗試登錄而沒有激活,則返回ae RROR。請嘗試它,讓我知道,如果用戶沒有激活返回錯誤,如果它的工作,我會更新我的問題與messagge錯誤「​​用戶未激活」在視圖中。