【发布时间】:2014-03-17 03:05:04
【问题描述】:
我需要在注销时修改我的用户对象。为此,我有一个 security.yml,其中包含以下内容(除其他外) -
#...
logout:
success_handler: my.logout_success_handler
target: /
#...
...this 定义了一个注销成功处理程序,它在 services.yml 中定义如下 -
my.security.logout_success_handler:
class: My\Security\LogoutSuccessHandler
arguments: ["@security.context", "@doctrine.orm.default_entity_manager"]
...最后,我的处理程序的业务端是这样的 -
// ...
public function onLogoutSuccess(Request $request)
{
$user = $this->securityContext->getToken()->getUser();
// ... do stuff with the user object....
$this->em->flush();
// now what?
}
// ...
那么,它在哪里说“现在呢?”我知道我需要返回一个 Response 对象。理想情况下,我希望该响应对象将用户重定向到 security.yml 中 logout.target 中定义的任何内容。
有没有一种简单的方法可以查询?或者,更好的是,有没有另一种方式来做这种事情,根本不需要我参与请求/响应对象?
谢谢
【问题讨论】: