Symfony AbstractToken私有属性

时间:2014-03-05 10:26:02

标签: symfony

我正在扩展symfony的AbstractToken以满足我自己的需求。但是,AbstactToken将其属性$user$roles$authenticated声明为私有。此外,没有setRoles() - 函数,它只能通过构造函数初始化。

这似乎没有意义:你为什么要在构造函数中提供角色呢?

我预期的控制流程是:

  1. 使用会话信息
  2. 创建未经身份验证的令牌
  3. 根据此信息查找用户并在令牌
  4. 中设置此项
  5. 执行一些检查并基于:setAuthenticated(true);
  6. 并将用户拥有的角色添加到令牌
  7. 第4步是不可能的,所以我认为我误解了应该如何使用令牌,但是阅读文档我无法弄清楚它是什么。

1 个答案:

答案 0 :(得分:0)

问题是,在您的工作流程中,如果您对用户进行身份验证,那么他就不应再拥有“匿名令牌”了。

我认为你有点混淆了责任:对于一个未经身份验证的用户来说,未经身份验证的令牌就像其名称所暗示的那样,当他认证自己时,它应该是AuthenticatedToken或类似的东西,然后,你应该知道刚认证的用户的角色。

但是如果你真的希望彻底使用相同的令牌,你可以不使用AbstractToken扩展而是实现基于TokenInterface的接口...