分配用户阅读Laravel文章的权限-基于文章的权限

时间:2018-12-10 13:08:00

标签: php laravel

使用laravel,让多个用户能够阅读文章的最佳方法是什么?

我正在数据库中使用一个包含所有权限(基于user_id)的数组,例如:

id | user_id_permission
1  | {1,37,44}
2  | {34}

然后我检查当前用户ID是否在数组中,在 show(Article $ id)函数的 ArticleController.php 中。如果不是,它将重定向到仪表板。

我想知道是否还有另一种设计方法,使用Laravel的门或任何类型的身份验证。

谢谢!

1 个答案:

答案 0 :(得分:1)

这违反了DB规范化。我不会在您的表中使用该字段,但会使用将N个文章与N个用户链接起来的关系表。

article_user_access

 id_article | id_user 
------------+--------
 1          | 1
 1          | 37
 1          | 44
 2          | 34

这将更易于执行查询以获取有权访问文章X或用户Y可以访问的文章的用户列表。

关于添加和删除访问权限,这将更易于维护