在 Laravel 5.5 中添加用户角色最有效的方法是什么?
我遇到了几种方法,即
- 管理中间件
- user_roles 的数据透视表
我已经在我的应用程序中尝试并实现了这两种方法,但是通过牢记我的应用程序的可伸缩性来问这个问题,它们将如何有效。
在 Laravel 5.5 中添加用户角色最有效的方法是什么?
我遇到了几种方法,即
我已经在我的应用程序中尝试并实现了这两种方法,但是通过牢记我的应用程序的可伸缩性来问这个问题,它们将如何有效。
如果您愿意,您可以在角色表上添加权限,创建一个新的权限表来定义用户的权限。
例如:
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
在我看来,您需要问题中提到的两件事。您应该有一个 Roles 表,它定义了用户在您的应用程序中可以拥有的所有可能的角色。用于将用户关联到特定角色的 user_roles 数据透视表和用于在授权用户访问功能之前检查角色的中间件。
在 Laravel 5.5 https://www.5balloons.info/user-role-based-authentication-and-access-control-in-laravel/中基于角色的身份验证链接中给出了滞留的演示
你为什么要尝试重新发明轮子?也许你可以为此使用一个包。spatie /laravel-permission包是我特别喜欢的。
快速搜索后,我还发现了有关 laracasts 的讨论以及其他一些选项。