【问题标题】:Symfony 1.4 Different CRUDs for different rolesSymfony 1.4 不同角色的不同 CRUD
【发布时间】:2012-05-05 03:22:00
【问题描述】:

我想为 Symfony 1.4 项目中的不同角色提供指定的操作。

项目包含几个数据库表,其值只能由某些角色修改。

例如,管理员可以访问所有模型的 CRUD。 另一个角色(让它成为顾问)只能从指定模型(不是全部)中检索(而不是修改或删除)结果。

如何在 symfony 中支持这样的功能? 我假设将提前指定项目的角色。

我正在考虑的一个解决方案是分别为每个角色创建模块和操作(crud 面板 + 一个日志界面),但这听起来像是一项艰巨的工作。

只是想知道更聪明的方法是什么。

【问题讨论】:

    标签: php symfony1 crud user-roles


    【解决方案1】:

    我认为实现这一目标的最佳方法肯定是credentials(适用于 sf1.2,但适用于 1.4)。

    我建议您使用sfGuardDoctrine 来使用一些具有相关权限(即凭据)的组。您定义了一个组 adminconsultant 等。您关联了一些凭据,例如 modifiyremove、创建、编辑等..

    然后,每次用户登录时,它都会自动具有定义的凭据(与他或他的组相关联)。

    之后,您必须检查用户是否可以执行每个操作:

    if($this->getUser()->hasCredential('modify'))
    {
      // authorized action
    }
    

    这是 sfGuard 的一些 more documentation(与 sf1.0 相关,但最好了解它的工作原理)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-13
      • 1970-01-01
      • 2015-11-23
      • 2012-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多