Laravel 角色和权限包

Posted

技术标签:

【中文标题】Laravel 角色和权限包【英文标题】:Laravel Roles and Permissions Packages 【发布时间】:2019-04-27 19:08:35 【问题描述】:

我想创建如下角色和权限:

每个post 都有很多users

    类型 A 用户可以执行所有操作(创建、编辑、更新和删除) 发帖。

    B 类用户只能创建、编辑和更新帖子。

    C 类用户只能编辑和更新帖子。

这是否适用于 santigarcor/laratrustspatie/laravel-permission 软件包?那些包看起来很复杂。

【问题讨论】:

试试 laravel 委托 我通常使用 laravel-permission by spatie。但似乎在这种情况下它不会帮助你。如果您担心这些软件包,您可以使用策略 (laravel.com/docs/5.7/authorization#creating-policies)。它们非常适合您的需求,并且不需要安装软件包。 你可以在这里看到具有角色和权限的自动化门laravel-news.com/authorization-gates 这是否适用于 Laratrust 或 spatie/laravel-permission?包看起来很复杂。 这是什么意思?它复杂的主题和 spatie 的包在抽象它方面做得很好。 @Kyslik 因为它们很复杂所以我想知道是否有其他方法可以实现。 【参考方案1】:

如果您正在寻找基本的授权功能,laravel 的默认 gates and policies(如 cmets 中所述)可以解决问题。

如果正在寻找与page roles in Facebook pages 类似的功能,其中您有不同的组,每个组都有自己的帖子,并且用户在不同的组中具有不同的权限,那么请查看laratrust 中的团队功能包裹。

【讨论】:

以上是关于Laravel 角色和权限包的主要内容,如果未能解决你的问题,请参考以下文章

text laravel的角色和权限包

Laravel——用户角色权限控制包 Laravel-permission

我如何在 laravel 中为 spatie 包(ACL 管理)中的其他角色分配用户列表权限?

如何在登录具有 Spatie 的 Laravel 权限的用户之前检查用户角色?

使用 Laravel 4 实现用户/角色/权限

Laravel Print 根据用户的权限选择选项