我正在尝试将角色添加到可以从数据库管理的FOSUserBundle中。我已经阅读了文档并开始研究它,但无论我尝试什么它似乎都不起作用。
主要问题:FosUserBundle \ Model \ User和FosUserBundle \ Model \ UserInterface将角色定义为数组。我想将它们转换为ArrayCollection / RoleInterface。
首次尝试:使用扩展FOSUserBundle \ Model \ User的Acme \ UserBundle \ Entity \ User覆盖。但这不起作用,因为我无法覆盖界面中定义的角色函数。
第二次尝试:更换FOS用户界面和用户界面模型,这些模型允许我创建函数和数据库结构,但又给我留下了另一个问题。当我这样做时,引用FOSUserBundle \ Model \ UserInterface的FOSUserBundle中的所有内容将无法工作,这意味着我必须覆盖几乎整个捆绑包,这似乎不是你想要添加角色的东西。< / p>
所以基本上问题是:如何在不必覆盖整个捆绑包的情况下将数据库角色添加到FOSUserBundle?
答案 0 :(得分:-1)
您可以添加所有内容 只需使用
$user->addRole('ROLE_XXXXX');
但您必须在security.yml中定义ROLE_XXX Nb:当你定义角色时,你必须从ROLE_YOURROLE开始
如果您扩展用户,则可以定义新功能
public function ListRole(){
foreach($this->getRoles() as $role){
}
}