我有一个symfony2控制器,我想在其中执行以下操作:
try {
return $this->redirect($request->headers->get('referer'));
}
catch (Exception $e) {
return $this->redirectToRoute('home');
}
它不起作用。我们的想法是,鉴于此控制器中发生的情况,用户的权限可能会发生变化。所以我想知道他是否仍然可以访问当前路由,如果是,则重定向到当前路由,如果没有,则重定向到主页。
我该怎么做?
非常感谢!
答案 0 :(得分:1)
我没有看到这样做的好方法。问题是,您需要询问整个安全组件,它使用requestlistners拒绝访问。不幸的是,Accesstoken只生成一次,因此如果再次询问请求列表者,它将不会使用新的用户权限。
最好的想法,可能是进行重定向,然后捕获Exception(带有exceptionListener)它真正发生的地方,然后再重定向。