我正在尝试使用Symfony2创建一个网站,每个用户都可以在其中创建自己的博客,注册将使用FOSuserBundle完成。它也将是一个名为博客的实体,与实体用户相关的ManyToOne。我的问题是,在这种情况下,我应该使用访问控制列表(ACL)来定义每个用户管理自己的博客的授权吗?
记得前段时间研究一个项目的 ACL,从表面上看它似乎很有用,如果有点冗长 - 这没有任何问题。他们似乎也表现得很好。
但是,我们最终决定不使用它,因为有一些特定的限制我现在实际上无法回忆起来。我知道这不是很有用!但是,这听起来确实非常适合您的用例,如果我没记错的话,在您的模板中使用带有is_granted
的权限映射属性非常方便(假设您使用的是 twig),如下所示:
{% if is_granted('EDIT', blog_post) %}
<a href="{{ path('blog_edit', blog_post)">Edit</a>
{% endif %}
我建议尝试一下,尽管文档也建议选民作为替代方案,但我从未使用过这些,所以我无法发表评论。
希望这对:)有所帮助