在没有第二个对象的情况下召唤选民

时间:2016-11-19 15:03:05

标签: php symfony role symfony2-voter

我正在开发一个新的symfony项目,我实施并定制了选民。在控制器中,我可以通过$this->isGranted('view',$team)给选民打电话,但为此,我需要一个团队对象。当我想展示一个团队时,没问题。 但现在我有一个只有顶级菜单的基本模板。我只想显示“团队”-Button,当$this->isGranted('view',$team)返回true时,但是在这个模板中我从不显示任何团队,所以我没有团队对象,我可以通过这个函数。第一个树枝模板甚至是项目的概述。 我怎样才能做到这一点?我应该将空白的团队对象传递给基础模板吗?任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

你不应该依赖与特定对象相关的选民。我想团队可以由已登录的用户(或类似的东西)显示。因此,您应该检查用户是否记录了您可以通过$this->isGranted('IS_AUTHENTICATED_FULLY')在Symfony中执行的操作,或者基于其他状态(新角色),例如TEAM_VIEWER,但请记住,您必须为这些用户添加此角色。