Symfony 4安全角色起作用,但在用户对象中不起作用

时间:2019-07-17 14:05:15

标签: symfony

我正在使用Symfony 4,并且尝试通过实现User来将数据库中的其他角色加载到UserInterface对象中:

    /**
     * @see UserInterface
     */
    public function getRoles(): array
    {
        $roles[] = 'ROLE_USER';
        foreach ($this->getGroups() as $g) {
            array_push($roles, $g->getRole());
        }

        $this->roles = $roles;

        return array_unique($this->roles);
    }

我与ManyToMany的{​​{1}}关系正常,当用户分配了某些角色时,“ Symfony Profiler安全性”部分的确显示了我的角色。

但是当我在Twig模板中User->Group时,结果如下:

dump(app.user)

User^ {#373 ▼ -id: 1 -email: "test@test.com" -providerId: "f725352f-4309-4121-9867-c71bbe5d1282" -roles: [] -groups: PersistentCollection^ {#401 ▶} } 为空。除非我打电话给roles(它会进行数据库查询),否则角色是空的。

我该如何解决?

0 个答案:

没有答案