繁体   English   中英

使用中间件Laravel保护路线

[英]Protect routes with middleware Laravel

我已经在我的应用程序中实现了中间件角色和权限控制,但是我无法弄清楚为什么它只允许我定义一个“ /”路由。 即使我重写AuthController redirectTo变量,第二个仍然指向'/ home'。

我的路线:

Route::group(['middleware' => 'role:user'], function()
{
 Route::get('/', 'ScoresController@user');

});

Route::group(['middleware' => 'role:admin'], function()
{
Route::get('/', 'PagesController@home');
});

无论如何,在身份验证后,具有用户角色的用户将重定向到“ / home”。

就像西蒙(Simon)所说的那样,您的第二条路线将覆盖第一条路线,您可以做的是加载另一个控制器,该控制器通过redirect()将您重定向到另一页,或将其写为路线本身。

可能看起来像这样:

Route::get('/', function(){
    $user = Auth::user();

    if($user->is('admin') {
        return redirect('admin');
    }else{
        return redirect('user');
    }
});

Route::get('admin', ['middleware' => 'role:admin', 'uses'=> 'PagesController@home']);

这只是希望对您有所帮助的众多可能性之一。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM