2017-01-05 8 views
0

私はLaravel 5.3を使用していますが、認証に問題があります。Laravel認証の問題

私がこのプログラムを作成する前に、開発者はそれをセットアップして、認証が必要なすべてのコントローラをアカウントコントローラクラス(ベースコントローラなどを拡張する)から拡張しました。アカウントコントローラクラスは$this->middleware('auth')を実行するだけで、authenticateクラスのhandleメソッドを実行してアクティブなセッションがあるかどうかを確認し、ログインページにリダイレクトしない場合は実行します。

奇妙なことは、コントローラがすべて同じアカウントコントローラから拡張されていても、一部のコントローラでは動作しますが、他のコントローラでは動作しないことです。それが動作していないコントローラでは、認証クラスのhandleメソッドに到達することさえないようです。

laravelに、認証するルートとそこで定義する必要があるものを指定するか、コントローラがセットアップは同じですか?あなたは、ルートレベルのようにチェックを入れることができます

+2

おそらく彼らは、親コントローラを拡張しますが、 '親を呼び出すことなく、コントローラのコンストラクタをオーバーロード:: __構築物()'認証ミドルウェアが適用されます。 – Robert

+0

これをチェックして、正常に動作しているコントローラと同じ方法で親コンストラクタを呼び出しています。 – SamBremner

答えて

1

Route::group(['middleware' => 'auth'], function() { 
    // All the routes enclosed in this block are protected 
}); 

// Put unprotected routes outside the block 
+0

お返事ありがとうございます。私はこれがユーザー承認を行うための適切なラーベルの方法だと理解しています。そうすれば、私のアプリをそのようにするのが最善です。 – SamBremner