php - 在 Laravel 中配置带保护的路由问题
问题描述
我是初学者 php 开发人员。我的路由有小问题。我在我的网站上使用这个组件:spatie/laravel-permission
我有这条路线:
Route::group(['prefix' => '', 'middleware' => ['role:superadmin, admin, seller, telemarketer']], function () {
Route::get('/', 'HomeController@index')->name('cms.home');
Route::resource('pages', 'PageController')->only(['index', 'create', 'store', 'edit', 'update', 'destroy']);
Route::get('/pages/dataTable', 'PageController@dataTable')->name('pages.dataTable');
});
我的中间件有问题。当我有这个时:['role:superadmin, admin, sell, telemarketer']] 我有错误: InvalidArgumentException Auth guard [ admin] 没有定义。
我的用户具有“超级管理员”角色。
当我编写此代码时: ['role:superadmin']] - 它工作正常。
我怎样才能将它修复到我的其他角色?
请帮我
解决方案
如果您使用该role
包中的中间件,它不会将列表或角色作为中间件参数。第一个参数是角色,第二个是要使用的守卫。
public function handle($request, Closure $next, $role, $guard = null)
如果要传递角色数组,可以使用|
来区分它们:
role:superadmin|admin|seller|telemarketer
这就是传递的所有一个参数,中间件会将其分解为一组角色。
推荐阅读
- java - 在Java中添加三个整数的总和
- react-native - react-navigation 找不到模块的解决方法
- c# - 为什么没有 EF Core OfType(Type type) 方法?
- blazor-server-side - 如何在 Blazor 服务器端应用程序中启用/修复 Windows 身份验证?
- c# - 无法删除预制件的克隆
- python - 如何根据该表的列中的值使用 sybase db 表中的 Python 创建 csv 文件?
- visual-studio - 我通过删除目录中包含它们的项目意外删除了 Visual Studio 中的多个项目
- steganography - 如何在“Corrupt JPEG data: 22 extraneous bytes before marker 0xd9”警告中获取或查看这些无关字节?
- django - django 如何在从购物车重定向 url 中删除项目后重定向 url
- arrays - Bash 脚本循环问题