gpt4 book ai didi

Symfony2 FOSUserBundle 角色实体

转载 作者:行者123 更新时间:2023-12-04 03:40:00 27 4
gpt4 key购买 nike

我目前正在尝试找出将原则持久角色实体实现为与 FOSUserBundle 兼容的 M2M 关系的最佳方法。以前我只使用带有默认实现的字符串,并使用教义数组映射来持久化它。

现在我需要将角色作为单独的实体,因为我们想要构建一个管理员后端,其他人可以在其中授予用户角色。

基本上,这是一个痛苦的屁股。 FOS 接口(interface)是为字符串表示而非角色实体而构建的。改变实现,你会破坏很多东西,即提升用户的 FOS 命令。而且很难准确地确定需要哪些接口(interface)才能让 symfony2 安全系统继续正常工作。

我可以重写角色管理代码并尽可能使用角色实体,例如:

$user->addRole(new Role('ROLE_FOO'));

但这会破坏命令和可能的现有代码?

或继续使用:
$user->addRole('ROLE_FOO');

并在 addRole() 中添加角色/实体管理器代码(糟糕的设计)。

我注意到这是一个灰色区域(具有 FOS 的角色实体)并且已在 symfony2 板上和此处提到过,但没有像样的解决方案。

任何人都有任何经验或可以想到一个体面的解决方案?

最佳答案

我决定混合使用数组/ArrayCollection 实现。我试图尽可能地遵循现有的接口(interface),以免破坏安全系统。我在 http://blog.jmoz.co.uk/symfony2-fosuserbundle-role-entities 记录了我的解决方案

关于Symfony2 FOSUserBundle 角色实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8388080/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com