【问题标题】:How do you setup permission/views/routes for different user roles?您如何为不同的用户角色设置权限/视图/路由?
【发布时间】:2020-04-04 08:23:28
【问题描述】:

我正在构建一个电子商务平台。我必须为他们创建几个用户角色和特定权限。我已成功创建管理员和默认用户角色和权限。

但是我在显示基于其他用户角色(如编辑器/经理/CS 团队)的视图和菜单项时遇到了很多麻烦。

我尝试为它们中的每一个使用不同的中间件。但它没有有效地工作,甚至根本没有。

对于管理员角色,我创建了一个管理员中间件,用于检查用户角色类型并授予访问权限。我在 Route 组上定义了管理中间件。

你能推荐我吗? - 如何为不同的用户角色有效地设置权限/视图/菜单项?

提前致谢。

注意:我正在尝试不使用任何软件包。

【问题讨论】:

    标签: php laravel middleware user-permissions user-roles


    【解决方案1】:

    是的,您可以通过在数据库中设置角色、权限表并在用户登录后将所有信息放入会话或缓存中来制作自己的自定义构建库。但是这样做可能会在未来给你带来麻烦,因为缺乏测试它的所有功能,你必须确定你到底在做什么来自己管理它,否则你可以使用已经测试过的很多时间库,比如

    laravel-permission 使用知名且受信任的库可确保它能够解决您的问题,但请花时间阅读它的文档并分析它是否包含您在应用程序中需要的所有功能。

    【讨论】:

      【解决方案2】:

      您需要定义策略。 策略是保护 Eloquent 模型上的操作的好方法。 Laravel 策略是 Laravel 授权的一部分,可帮助您保护资源免受未经授权的访问。

      请参阅此文档以了解如何注册策略及其在视图文件中的工作方式:

      https://www.larashout.com/laravel-policies-controlling-authorization-in-laravel

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-06-25
        • 2018-05-16
        • 1970-01-01
        • 2021-08-16
        • 2021-05-30
        • 2021-07-26
        • 2013-11-28
        • 1970-01-01
        相关资源
        最近更新 更多