我正在将我们的网络应用程序从laravel 4.2升级到laravel 5.2 . 我已经设法解决了大部分问题,但这个特殊的问题让我陷入了困境 .
这是管理仪表板的路径组的外观:
Route::group(['middleware' => 'web','prefix' => 'adm'], function ()
{
Route::get('login', ['as' => 'admin.login.view', 'uses' => 'AdminLoginController@loginView']);
Route::post('login', ['as' => 'admin.login.attempt', 'uses' => 'AdminLoginController@attempt']);
Route::get('logout', ['as' => 'admin.logout', 'uses' => 'AdminLoginController@logout']);
...other routes pertaining to admin dashboard
}
管理面板中的登录功能和所有功能按预期工作 . 唯一的问题是当用户注销时,任何人都可以访问管理面板中的其余路径(无需登录) . 我已经放置了Auth :: check()并在各种控制器中检查了auth,登录和注销按预期工作 .
如果用户未登录,则Auth :: check()将失败,如果用户已登录,则验证通过 . 如何确保此组中的所有路由仅对登录用户可访问 . 我尝试创建另一个名为authAdmin的中间件,并尝试使用它而不是Web中间件 . 在那种情况下,我甚至无法登录 .
1 回答
我为登录创建了新的中间件,在页面中看起来像这样
在Kenel.php中注册登录类
在路线文件中
希望这有帮助