在新的Laravel 5.8应用程序中,我阅读了下一篇文章,将角色用于jwt扩展: https://scotch.io/tutorials/role-based-authentication-in-laravel-with-jwt 在种子中,我添加了几个角色,例如:
\DB::table('roles')->insert(array (
0 =>
array (
'id' => 1,
'name' => 'Admin',
'display_name' => 'Admin',
'description' => 'Administrator. Can do all operations in system',
'created_at' => '2019-04-29 11:03:50',
),
1 =>
array (
'id' => 2,
'name' => 'Manager',
'display_name' => 'Manager. Can do all operations in frontend and CRUD for Hostels/CMS items in Backend',
'description' => 'Manager description...',
'created_at' => '2019-04-29 11:03:50',
),
2 =>
array (
'id' => 3,
'name' => 'Customer',
'display_name' => 'Customer. Can do all operations in frontend',
'description' => 'Customer description...',
'created_at' => '2019-04-29 11:03:50',
),
));
,当我需要为用户分配一些角色时,我看到了assignRole方法。 对我来说还不清楚权限和“ permission_role”数据是什么。 我的简单应用结构是否需要它们?如果是,请提供一些示例...
谢谢!
答案 0 :(得分:1)
如果您未指定应用程序需要执行的操作,我们将无法回答您的问题。您可以拥有没有权限的角色,也可以拥有没有角色的权限,这取决于您的应用程序。但是,如果您希望所提供的教程能够正常工作,则需要它们。
权限是角色的特定操作。
Permisson表数据示例:
Permission-id: 1
Permission-name: 'Create Blog Post'
您可以将此权限分配给角色“管理员”(角色ID:1)。
您的Permission_role表包含这两者之间的关系。因此,对于以上示例:
permission_role
'permission_id': 1, 'role_id': 1;
在这种情况下,这意味着管理员角色可以“创建博客文章”。