Symfony2 - 为特定实体设置用户访问限制

时间:2014-07-28 23:35:18

标签: symfony user-permissions

我正在开展一个项目,其中主页面是门户网站,每个链接都是客户端的博客页面。

我的问题是,如何为每个客户端设置其特定博客页面的访问限制?

e.g。 主页门户

  • Link1 - > blog1 page
  • Link2 - > blog2 page
  • Link3 - >博客3页

我需要找到一种方法来限制每个用户对其特定博客的CRUD访问权限。

例如:

  • User1 - >访问仅限于Blog1页面

  • User2 - >访问仅限于Blog2页面

  • User3 - >访问仅限于Blog3页面

对于设置:我开始使用1个类别实体并链接到post实体,但现在我认为没有办法限制只访问一个类别实体/帖子实体。

有关如何最好地处理此问题的任何想法? (使用不同的类别实体和帖子实体,还是有一个包来照顾我正在尝试做的事情?)

1 个答案:

答案 0 :(得分:0)

您可以尝试利用现有的SF2访问控制功能:Roles

只允许阅读Blog1的用户可以拥有角色ROLE_USER_BLOG1。 另一个允许创建文章的人可能有ROLE_ADMIN_BLOG1。 第三个允许阅读所有博客的人可以ROLE_USER_BLOG_ALL

与系统的custom voter实现一起应该是直截了当的。 ; - )