【问题标题】:CCDN Forum Bundle and FOSUserBundleCCDN 论坛捆绑包和 FOSUserBundle
【发布时间】:2015-09-09 13:16:24
【问题描述】:

我正在尝试将 CCDN 论坛捆绑包配置为使用 FOSUserBundle 角色,但我无法完成更改我的 security.yml 所需的行为。 官方文档也无济于事。

无论如何,无论角色如何,每个用户都可以删除和编辑其他人的帖子等。我希望只有 ROLE_SUPER_ADMIN 可以这样做,而其他人只能阅读、编辑和删除他们自己的帖子。

有谁知道如何在 CCDNSForumBundle 中配置主持人、用户或管理员等角色?

我有:

role_hierarchy:
    ROLE_PREMIUM:     ROLE_USER
    ROLE_ADMIN:       ROLE_USER
    ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_MODERATOR, ROLE_SONATA_ADMIN]

【问题讨论】:

标签: symfony fosuserbundle


【解决方案1】:

在您的配置中,只有ROLE_SUPER_ADMIN 的用户才能更改任何帖子。如果你想允许例如。 ROLE_PREMIUM你可以这样设置:

role_hierarchy:
    ROLE_PREMIUM:     [ROLE_USER, ROLE_MODERATOR]
    ROLE_ADMIN:       ROLE_PREMIUM
    ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_SONATA_ADMIN]

现在ROLE_PREMIUM可以修改论坛中的任何帖子,ROLE_ADMIN拥有和ROLE_PREMIUM一样的权限,所以他也可以修改所有帖子,和ROLE_SUPER_ADMIN一样。

更多信息:http://symfony.com/doc/current/book/security.html#hierarchical-roles

【讨论】:

  • 这对能够编辑自己的帖子的要求没有帮助。
  • 抱歉,这应该是默认行为,用户不能编辑其他作者的帖子。你确定你检查正确吗?例如。仅来自具有 ROLE_USER 的用户?
  • 我试过了,但没有成功。当我尝试使用 ROLE_USER 访问论坛时,我得到了权限异常。我只能使用 ROLE_ADMIN
  • 我通过将角色用户添加到论坛的权限列表来修复它。我认为这将是默认行为。但是现在当我转储authorizedToRead 变量时,我只得到ROLE_ADMIN。我的用户可以访问论坛但无法阅读。我真的不明白。
猜你喜欢
  • 1970-01-01
  • 2012-07-05
  • 1970-01-01
  • 2012-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多