Mai*_*jat 4 php laravel laravel-5 laravel-middleware jwt-auth
我有两条路线如下:
Route::GET('admins/', 'UserController@index')->middleware('jwt.auth');
Route::GET('visitors', 'UserController@indexVisitors')->middleware('jwt.auth');
Run Code Online (Sandbox Code Playgroud)
我在auth.php 中有警卫:
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'jwt-auth',
'provider' => 'users',
],
'visitor_api' => [
'driver' => 'jwt-auth',
'provider' => 'visitors',
],
],
Run Code Online (Sandbox Code Playgroud)
我试图在中间件中指定守卫,但它不起作用。
Route::GET('visitors', 'UserController@indexVisitors')
->middleware('jwt.auth.visitors_api');
Run Code Online (Sandbox Code Playgroud)
如果您想在整个过程中设置默认防护,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');
});
Run Code Online (Sandbox Code Playgroud)
在此之后,您可以使用Auth::id()而不是Auth::guard('visitor_api')->id()在您的 VisitorController 中。
我想这就是你想要的
Route::GET('visitors', 'UserController@indexVisitors')->middleware('auth:visitors_api');
Run Code Online (Sandbox Code Playgroud)
您可以通过将其作为参数传递来指定防护(在冒号字符之后)
可以参考laravel文档:
https://laravel.com/docs/5.6/authentication
在身份验证快速入门 > 保护路由 > 指定守卫下
| 归档时间: |
|
| 查看次数: |
13778 次 |
| 最近记录: |