2017-05-12 17 views
0

ユーザーがアクティブであるかどうかを確認してアプリケーションにリダイレクトしようとしていますが、ユーザーがアクティブでない場合は、ログインページに「アカウントが無効になっているか、あなたの管理者に連絡してください。 "私はアプリケーション全体でやりましたが、これが私が理解できない唯一のものです。私はHandler.phpを試してみましたが、postLogin()、getLogin()関数を書こうとしましたが、ルートも変更されましたが、まだ理解できません。このlaravelの認証方法は、関数がどこにあるのかわからないので、とても混乱します。どんな助けでも大歓迎です。私はちょうどそれが関数に入るかどうかをチェックするのですが、私はroute::auth()Laravel 5.2認証機能

public function postLogin(Request $request) 
{ 
    echo "getting in this function"; 
} 

public function getLogin($id) 
{ 
    echo "getting in to this function"; 
    $users = User::find($id); 

    if($users->is_active == 1) { 
     return redirect()->intended('dashboard'); 

    } else { 
      Session::flash("message", "Authentication failed. Please contact your admin."); 
      return redirect('/login'); 
    } 
} 
をコメントアウトした場合、それは機能のいずれかに行かない postLogin()

ルート

// Route::auth(); 

Route::get('auth/login', 'Auth\[email protected]'); 
Route::post('auth/login', 'Auth\[email protected]'); 
Route::get('auth/logout', 'Auth\[email protected]'); 

AuthController

答えて

0

これについては、まずLaravelのデフォルトのルートとコントローラを認証用に使用してから、必要です。

これは確かに動作します:

ルート/ web.php

Route::auth(); 

HTTP /コントローラ/認証/ LoginController.php

public function login(Request $request) 
{ 
    $email = $request->input('email'); 
    $password = $request->input('password'); 
    $remember = $request->input('remember') ? true : false; 

    if ($user = Auth::attempt(['email' => $email, 'password' => $password], $remember)) { 
     if(Auth::user()->is_active == 1) { 
      return redirect()->intended('dashboard'); 
     } else { 
      Auth::logout(); 
      Session::flash("message", "Authentication failed. Please contact your admin."); 
      return redirect('/login'); 
     } 
    } else { 
     return $this->sendFailedLoginResponse($request); 
    } 
} 
+0

は、その動作していません...このエラー「クラスApp \ Http \ Controllers \ Auth \ Requestは使用するApp \ Http \ Requestsを使用した後でも存在しません」を取得しています...これも使用しようとしましたb {} { } {} {0} {0} {0}}} {0}}}} {0} /認証が成功しました... return redirect() - >意図した( 'dashboard'); } } ' –

関連する問題