웹 응용 프로그램을 laravel 4.2에서 laravel 5.2로 업그레이드하는 중입니다. 나는 대부분의 문제를 해결할 수 있었지만,이 특별한 문제가 나를 이끌고있다.사용자가 로그인하지 않은 상태에서 Laravel 웹 미들웨어 그룹이 페이지를 표시합니다.
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()를 배치하고 다양한 컨트롤러에서 인증을 확인 했으므로 로그인과 로그 아웃이 예상대로 작동합니다.
사용자가 로그인하지 않은 경우 Auth :: check()가 실패하고 사용자가 로그인 한 경우 통과합니다. 이 그룹 내의 모든 경로에 로그인 한 사용자 만 액세스 할 수있는 방법을 확인하려면 어떻게해야합니까? 필자는 authAdmin이라는 다른 미들웨어를 만들려고 시도했으며 웹 미들웨어 대신이를 사용하려고했습니다. 이 경우 로그인 할 수도 없습니다.
두 세션 aintain? 일반 사용자 및 관리자와 마찬가지로 –
현재 나는 그렇게하지 않습니다. 그러나 이상적으로 나는 일반 사용자와 관리자 사용자를 위해 2 세션을 유지하고 싶습니다. – pixelscreen
사용자 세션이 만료 된 후에도 사용자가 로그인 한 경우에만 액세스해야하는 페이지에 액세스 할 수 있습니까? 그렇다면 문제는 "인증"경로를 어떻게 처리하는지에 달려 있다고 생각합니다. 컨트롤러 또는 라우트 그룹에서 호출하고 있습니까? –