我希望项目需要覆盖Silex 2.0中的类User:
Symfony\Component\Security\Core\User;
我绝对不知道如何。 我的最终目标是重载方法:
final class User implements AdvancedUserInterface
{
/**
* {@inheritdoc}
*/
public function getRoles()
{
return unserialize($this->roles[0]); // work (overload)
return $this->roles; // Not work (delete)
}
}
你知道怎么做吗?
谢谢!
答案 0 :(得分:1)
最终的课程User
仅针对InMemoryUserProvider
定义。
要从Silex读取此数据库,您必须编写自己的UserProvider
和configure it代码。
可以在构造函数中设置User
的正确值,而不是扩展$roles
类。
如果您参加了文档示例,则应替换此行:
return new User($user['username'], $user['password'], explode(',', $user['roles']), true, true, true, true);
由此:
return new User($user['username'], $user['password'], unserialize($user['roles']), true, true, true, true);
否则,最佳做法是创建自己的User类。
/**
* User is the user implementation used by the in-memory user provider.
*
* This should not be used for anything else.
*/