laravel - Laravel 中间件分配多个角色不起作用
问题描述
大家好,我的工作遇到了麻烦。我尝试了很多次将两个角色放在路由中以确保这些角色将被授予访问特定页面的权限,但我的另一个角色是员工仍然可以访问它。你们有什么意见吗?帮助!
Route::get('/dashboard', [
'as' => 'admin',
'uses' => 'DashboardController@index',
'middleware' => ['roles:Staff,Owner','auth']
解决方案
您需要handle()
在中间件中为您的函数添加更多参数。
在你的角色中间件 -
public function handle($request, Closure $next, $role1, $role2)
{
$role1 //Staff
$role2 //Owner
}
如果您使用的是 PHP 7 -
public function handle($request, Closure $next, ...$role)
{
$role //[Staff, Owner]
}
推荐阅读
- c - C - Gdb 不允许我查看堆栈内存中的值
- ios - 如何优化在多个 TableViewCells 内的 UIWebView 中加载大量多样的 HTML 内容?
- botframework - 无法将 Cortana 频道添加到 MSFT 聊天机器人
- kerberos - Klist 错误:凭据缓存中的格式错误
- sql - PIVOT SQL 返回工作日的重复行
- nestjs - 管道接收到的嵌套参数
- grails - 集成测试错误h2数据库
- django - ImportError:没有名为“django.contrib.sessions”的模块
- c# - 进程调试管理器 (PDM) 安全问题
- flutter - 如何在 Dart 中对 Textfield onChange 进行去抖动?