2

在 Laravel 5.5 中添加用户角色最有效的方法是什么?

我遇到了几种方法,即

  • 管理中间件
  • user_roles 的数据透视表

我已经在我的应用程序中尝试并实现了这两种方法,但是通过牢记我的应用程序的可伸缩性来问这个问题,它们将如何有效。

4

4 回答 4

0

如果您愿意,您可以在角色表上添加权限,创建一个新的权限表来定义用户的权限。

例如:

Without permission table: Based on cartalyst sentinel
User Table -> name, email, password etc
Role Table -> name, slug, permissions
Users_role -> user_id, role_id

With permission table: Based in Zizaco entrust
User Table -> name, email, password etc
Role Table -> name, slug, permissions
Users_role -> user_id, role_id
Permission table -> name, slug, description
role_permission -> permission_id, role_id
于 2017-09-14T08:07:15.493 回答
0

我想说你需要同时拥有:检查每个请求的访问权限的中间件和用于存储权限的权限表(&数据透视表)。

对于一个工作示例,您可以:

免责声明:我是这些软件包的贡献者。

在上面的例子中,简单来说,权限是和一个角色绑定的,这个角色可以分配给一个所有者,并且所有者有用户。

于 2017-09-15T13:35:42.003 回答
0

在我看来,您需要问题中提到的两件事。您应该有一个 Roles 表,它定义了用户在您的应用程序中可以拥有的所有可能的角色。用于将用户关联到特定角色的 user_roles 数据透视表和用于在授权用户访问功能之前检查角色的中间件。

在 Laravel 5.5 https://www.5balloons.info/user-role-based-authentication-and-access-control-in-laravel/中基于角色的身份验证链接中给出了滞留的演示

于 2017-10-07T06:47:26.370 回答
0

你为什么要尝试重新发明轮子?也许你可以为此使用一个包。spatie /laravel-permission包是我特别喜欢的。

快速搜索后,我还发现了有关 laracasts 的讨论以及其他一些选项。

于 2017-09-14T09:11:06.697 回答