如何在路由中间件中指定防护?

时间:2018-03-28 03:22:18

标签: php laravel laravel-5 laravel-middleware jwt-auth

我有两条路线如下:

Route::GET('admins/', 'UserController@index')->middleware('jwt.auth');
Route::GET('visitors', 'UserController@indexVisitors')->middleware('jwt.auth');

我在 auth.php

中有警卫
'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],

    'api' => [
        'driver' => 'jwt-auth',
        'provider' => 'users',
    ],
    'visitor_api' => [
        'driver' => 'jwt-auth',
        'provider' => 'visitors',
    ],
],

我试图在中间件中指定防护但它不起作用。

Route::GET('visitors', 'UserController@indexVisitors')
->middleware('jwt.auth.visitors_api');

2 个答案:

答案 0 :(得分:1)

我认为这就是你想要的

<div class="wraper">
   <div>
      <div id="ele" ></div>
   </div>
</div>

您可以通过将其作为参数(在冒号字符之后)

指定一个保护

您可以参考laravel文档:

https://laravel.com/docs/5.6/authentication

在身份验证快速入门下&gt;保护路线&gt;指定一名警卫

答案 1 :(得分:1)

如果您想通过Route::group设置默认防护,则可以使用以下语法

Route::group(['middleware' => ['web','auth:visitor_api'], 'prefix' => 'visitor'], function() {
  Route::get('/home', 'VisitorController@index')->name('home');
  Route::get('/list', 'VisitorController@list')->name('list'); 
});

此后,您可以在VisitorController中使用Auth::id()代替Auth::guard('visitor_api')->id()