Authentication Laravel保护非管理员用户的路由

Authentication Laravel保护非管理员用户的路由,authentication,laravel-5,Authentication,Laravel 5,我有一些路由需要保护,以防非管理员用户使用 比如说 http://myapp.com/clients 返回所有客户端,但仅针对管理员 然而 http://myapp.com/client/treutel_breitenberg 如果他们已登录,则应提供给他们 实现这一点的最佳方法是什么?您需要角色和中间件,有很多方法可以做到这一点。首先,您需要创建一个管理员角色,这样您的一些路由将只对具有管理员角色的人可用。为此,您可以遵循本laracasts教程: 您还可以使用插件来管理角色,如Ziza

我有一些路由需要保护,以防非管理员用户使用

比如说

http://myapp.com/clients
返回所有客户端,但仅针对管理员

然而

 http://myapp.com/client/treutel_breitenberg
如果他们已登录,则应提供给他们


实现这一点的最佳方法是什么?您需要角色和中间件,有很多方法可以做到这一点。首先,您需要创建一个管理员角色,这样您的一些路由将只对具有管理员角色的人可用。为此,您可以遵循本laracasts教程:

您还可以使用插件来管理角色,如Zizaco的Trust,它构建良好,经过大量用户测试,易于使用:

下一步,回答您关于路线的问题,您可以这样继续:

Route::group(['middleware' => ['admin']], function () {

    Route::group(['prefix' => 'admin'], function () {
      Route::get('/your-path', 'YourController@yourMethod')->name('yourRouteName');

    }
}
这两个组中的任何路由都需要作为admin进行身份验证,并在路由中返回“admin”前缀,如:www.yourwebsite.com/admin/your-path


如果您不使用插件,则需要创建中间件以仅处理管理员。

您可以在这种情况下使用中间件是的,我只有2个角色,您是超级管理员还是非超级管理员,但很高兴知道。谢谢