使用laravel-permission权限包碰到的问题
环境 laravel5.8 + php7.2 + nginx + centos7.2
我权限是已经有了的,但就是授权给角色的时候一直说不存在,而且guard_name也是没错的,检查来检查去;
我本地电脑是mac系统,运行就没有出现过这些问题
- 报错内容如下
{ "message": "There is no permission named `admin.customer.service` for guard `admin`.", "exception": "Spatie\\Permission\\Exceptions\\PermissionDoesNotExist", "file": "/data/www/admin.ubibat.com/vendor/spatie/laravel-permission/src/Exceptions/PermissionDoesNotExist.php", "line": 11, "trace": [ { "file": "/data/www/admin.ubibat.com/vendor/spatie/laravel-permission/src/Models/Permission.php", "line": 88, "function": "create", "class": "Spatie\\Permission\\Exceptions\\PermissionDoesNotExist", "type": "::" }, { "file": "/data/www/admin.ubibat.com/vendor/spatie/laravel-permission/src/Traits/HasPermissions.php", "line": 418, "function": "findByName", "class": "Spatie\\Permission\\Models\\Permission", "type": "::" }, { "file": "/data/www/admin.ubibat.com/vendor/spatie/laravel-permission/src/Traits/HasPermissions.php", "line": 330, "function": "getStoredPermission", "class": "App\\Models\\UbAdmin", "type": "->" }, { "function": "Spatie\\Permission\\Traits\\{closure}", "class": "App\\Models\\UbAdmin", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Support/Collection.php", "line": 1120, "function": "array_map" }, { "file": "/data/www/admin.ubibat.com/vendor/spatie/laravel-permission/src/Traits/HasPermissions.php", "line": 331, "function": "map", "class": "Illuminate\\Support\\Collection", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/spatie/laravel-permission/src/Traits/HasPermissions.php", "line": 378, "function": "givePermissionTo", "class": "App\\Models\\UbAdmin", "type": "->" }, { "file": "/data/www/admin.ubibat.com/app/Http/Controllers/AdminController.php", "line": 142, "function": "syncPermissions", "class": "App\\Models\\UbAdmin", "type": "->" }, { "function": "create", "class": "App\\Http\\Controllers\\AdminController", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Routing/Controller.php", "line": 54, "function": "call_user_func_array" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php", "line": 45, "function": "callAction", "class": "Illuminate\\Routing\\Controller", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Routing/Route.php", "line": 219, "function": "dispatch", "class": "Illuminate\\Routing\\ControllerDispatcher", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Routing/Route.php", "line": 176, "function": "runController", "class": "Illuminate\\Routing\\Route", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Routing/Router.php", "line": 680, "function": "run", "class": "Illuminate\\Routing\\Route", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php", "line": 30, "function": "Illuminate\\Routing\\{closure}", "class": "Illuminate\\Routing\\Router", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/spatie/laravel-permission/src/Middlewares/PermissionMiddleware.php", "line": 22, "function": "Illuminate\\Routing\\{closure}", "class": "Illuminate\\Routing\\Pipeline", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 163, "function": "handle", "class": "Spatie\\Permission\\Middlewares\\PermissionMiddleware", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php", "line": 53, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php", "line": 41, "function": "Illuminate\\Routing\\{closure}", "class": "Illuminate\\Routing\\Pipeline", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 163, "function": "handle", "class": "Illuminate\\Routing\\Middleware\\SubstituteBindings", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php", "line": 53, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php", "line": 58, "function": "Illuminate\\Routing\\{closure}", "class": "Illuminate\\Routing\\Pipeline", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 163, "function": "handle", "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php", "line": 53, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 104, "function": "Illuminate\\Routing\\{closure}", "class": "Illuminate\\Routing\\Pipeline", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Routing/Router.php", "line": 682, "function": "then", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Routing/Router.php", "line": 657, "function": "runRouteWithinStack", "class": "Illuminate\\Routing\\Router", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Routing/Router.php", "line": 623, "function": "runRoute", "class": "Illuminate\\Routing\\Router", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Routing/Router.php", "line": 612, "function": "dispatchToRoute", "class": "Illuminate\\Routing\\Router", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php", "line": 176, "function": "dispatch", "class": "Illuminate\\Routing\\Router", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php", "line": 30, "function": "Illuminate\\Foundation\\Http\\{closure}", "class": "Illuminate\\Foundation\\Http\\Kernel", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/fruitcake/laravel-cors/src/HandleCors.php", "line": 37, "function": "Illuminate\\Routing\\{closure}", "class": "Illuminate\\Routing\\Pipeline", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 163, "function": "handle", "class": "Fruitcake\\Cors\\HandleCors", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php", "line": 53, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php", "line": 21, "function": "Illuminate\\Routing\\{closure}", "class": "Illuminate\\Routing\\Pipeline", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 163, "function": "handle", "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php", "line": 53, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php", "line": 21, "function": "Illuminate\\Routing\\{closure}", "class": "Illuminate\\Routing\\Pipeline", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 163, "function": "handle", "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php", "line": 53, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php", "line": 27, "function": "Illuminate\\Routing\\{closure}", "class": "Illuminate\\Routing\\Pipeline", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 163, "function": "handle", "class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php", "line": 53, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php", "line": 62, "function": "Illuminate\\Routing\\{closure}", "class": "Illuminate\\Routing\\Pipeline", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 163, "function": "handle", "class": "Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php", "line": 53, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/fideloper/proxy/src/TrustProxies.php", "line": 57, "function": "Illuminate\\Routing\\{closure}", "class": "Illuminate\\Routing\\Pipeline", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 163, "function": "handle", "class": "Fideloper\\Proxy\\TrustProxies", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php", "line": 53, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 104, "function": "Illuminate\\Routing\\{closure}", "class": "Illuminate\\Routing\\Pipeline", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php", "line": 151, "function": "then", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/data/www/admin.ubibat.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php", "line": 116, "function": "sendRequestThroughRouter", "class": "Illuminate\\Foundation\\Http\\Kernel", "type": "->" }, { "file": "/data/www/admin.ubibat.com/public/index.php", "line": 55, "function": "handle", "class": "Illuminate\\Foundation\\Http\\Kernel", "type": "->" } ] }
1.看下你的权限Permission表,guard_name数据是否是
admin
2.看下你的Admin
模型是否定义protected $guard_name='admin'
最近想试试多个guard,所以把默认的web改成了admin,遇到了跟你同样的问题。是由于的缓存的问题导致的哈,执行以下命令就好了: php artisan permission:cache-reset