Я в процессе обновления нашего веб-приложения от 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 в разных контроллерах, логин и выход выполняются, как и ожидалось.
Auth :: check() завершается с ошибкой, если пользователь не вошел в систему и не выполнил вход, если пользователь вошел в систему. Как убедиться, что все маршруты в этой группе доступны только для зарегистрированных пользователей. Я попытался создать другое промежуточное программное обеспечение, называемое authAdmin, и попытался использовать его вместо промежуточного программного обеспечения. В этом случае я даже не могу войти.
Вы м на две сессии? Как обычный пользователь и администратор? –
В настоящее время я этого не делаю. Но в идеале я хотел бы поддерживать 2 сеанса для обычных пользователей и администраторов. – pixelscreen
Ваша проблема даже после истечения срока действия пользователя, вы можете получить доступ к странице, доступ к которой возможен только тогда, когда человек вошел в систему? Тогда я думаю, что проблема заключается в том, как вы обрабатываете маршрут «auth». Вы вызываете его на контроллере или в группе маршрутов? –