我正在开发一个新的symfony项目,我实施并定制了选民。在控制器中,我可以通过$this->isGranted('view',$team)
给选民打电话,但为此,我需要一个团队对象。当我想展示一个团队时,没问题。
但现在我有一个只有顶级菜单的基本模板。我只想显示“团队”-Button,当$this->isGranted('view',$team)
返回true时,但是在这个模板中我从不显示任何团队,所以我没有团队对象,我可以通过这个函数。第一个树枝模板甚至是项目的概述。
我怎样才能做到这一点?我应该将空白的团队对象传递给基础模板吗?任何人都可以帮助我吗?
答案 0 :(得分:0)
你不应该依赖与特定对象相关的选民。我想团队可以由已登录的用户(或类似的东西)显示。因此,您应该检查用户是否记录了您可以通过$this->isGranted('IS_AUTHENTICATED_FULLY')
在Symfony中执行的操作,或者基于其他状态(新角色),例如TEAM_VIEWER
,但请记住,您必须为这些用户添加此角色。