Webアプリケーションをlaravel 4.2からlaravel 5.2にアップグレードしようとしています。私は問題のほとんどを解決することに成功しましたが、この特定の問題は私をループに導いています。予想通りLaravel Webミドルウェアグループは、ユーザーがログインしていないときのページを表示します
Route::group(['middleware' => 'web','prefix' => 'adm'], function()
{
Route::get('login', ['as' => 'admin.login.view', 'uses' => '[email protected]']);
Route::post('login', ['as' => 'admin.login.attempt', 'uses' => '[email protected]']);
Route::get('logout', ['as' => 'admin.logout', 'uses' => '[email protected]']);
...other routes pertaining to admin dashboard
}
ログイン機能と管理パネルの作品内のすべての機能:
これは、管理ダッシュボードのためのルートグループがどのように見えるかです。唯一の問題は、ユーザーがログアウトしたときに、管理パネルの残りのルートにアクセスできる(ログイン不要)ことです。私はAuth :: check()を配置し、さまざまなコントローラで認証をチェックしました。ログインとログアウトは期待どおりに動作します。
ユーザーがログインしていない場合は認証に失敗し、ユーザーがログインしている場合は失敗します。 このグループ内のすべてのルートにログインできるユーザーのみがアクセスできるようにするにはどうすればよいですか。私はauthAdminと呼ばれる別のミドルウェアを作成しようとしましたが、Webミドルウェアの代わりにそれを使用しようとしました。その場合、私はログインすることさえできません。
あなたは2つのセッションaintain?通常のユーザーと管理ユーザーのように –
現在、私はそれをしていません。しかし理想的には、通常ユーザーと管理ユーザーの2つのセッションを維持したいと考えています。 – pixelscreen
ユーザーセッションの期限が切れた後でも、ユーザーがログインしているときにのみアクセスする必要があるページにアクセスできますか?それでは、あなたが "認証"ルートをどのように扱っているかに問題があると思います。コントローラやルートグループで呼びますか? –