我是laravel的新手,我想开发和应用程序来管理帖子,例如一些基本的CRUD操作等。我需要一些指导,以指导我如何为特定用户在特定帖子上添加特定权限?听起来有些混乱,但我希望其他用户不要看到彼此的帖子,而只能看到创建者用户允许看到的帖子。 从数据库架构到其编码,与这个小项目有关的任何指导,我将不胜感激。
我确实为laravel尝试了一个名为Spatie的软件包,但我不知道它是否将完全支持这种情况?
答案 0 :(得分:1)
您正试图授予对数据库中特定帖子的特定用户组的访问权限。 如果这种情况是正确的,则可以使用数据库中的表来实现。
为此,您需要自定义一些表格,如下所示:
步骤1:
在您的帖子表中添加一个名为access_level
步骤2:
当用户选择该帖子公开时,请在该public
列中添加access_level
关键字
第3步:
当您运行select
查询以显示所有帖子时,只需运行where
这样的where access_level = "public"
查询
如果要向特定用户显示特定帖子,则需要创建一个名为post_users
的表
user_id
和post_id
是外键 | id | user_id | post_id |
| 1 | 12 | 22 |
| 2 | 22 | 22 |
答案 1 :(得分:0)
您可以对特定用户使用基于角色的身份验证来执行特定任务。 为此,您可以按照git参考
$user->assignRole('writer');
$user->removeRole('writer');
$user->syncRoles(params);
$role->givePermissionTo('edit articles');
$role->revokePermissionTo('edit articles');
$role->syncPermissions(params);
$permission->assignRole('writer');
$permission->removeRole('writer');
$permission->syncRoles(params);
您还可以检查简短的编码here