【问题标题】:How can I assgin multiple role to any laravel route?如何为任何 laravel 路由分配多个角色?
【发布时间】:2016-03-28 17:10:08
【问题描述】:

我创建了一个中间件来检查用户角色(“superadmin”、“admin”和“user”)。

如果我使用单一角色角色,对于“管理员”来说,它的工作正常。

Route::get('users',['middleware' => 'role:superadmin', function () {
    return view('users_list');
}]);

但问题是在这里可以访问多个角色。我试过了,但没有用。

Route::get('users',['middleware' => 'role:superadmin,admin', function () {
    return view('users_list');
}]);

虽然在这里我得到的角色是“超级管理员”而不是管理员。但我认为这是错误的。

请建议我为任何路线赋予多个角色。

我也经历了https://github.com/Zizaco/entrust,但发现了许多未解决的问题https://github.com/Zizaco/entrust/issues。如果您有任何比“Zizaco”开头更好的主意,请建议我。

【问题讨论】:

    标签: laravel laravel-5 laravel-5.1 laravel-routing


    【解决方案1】:

    您需要使用| 分隔角色。

    像这样:

    'middleware' => ['role:admin|root']
    

    Entrust documentation

    【讨论】:

    • 你比我早了几秒钟,我会在文档中添加它,请参阅github.com/Zizaco/entrust#middleware
    • 非常感谢您快速且非常有帮助的回复。
    • 它在我删除管道前后的空间后工作
    猜你喜欢
    • 2019-09-10
    • 2020-10-11
    • 2023-02-03
    • 1970-01-01
    • 2021-08-26
    • 2019-09-21
    • 2018-02-25
    • 2020-07-17
    • 2018-04-29
    相关资源
    最近更新 更多