Symfony + Angular: 重定向到登录页面

Symfony + Angular: redirect to login page

所以,我在我的项目中使用 angular 1.5.9 和 Symfony 2.8。 FOSUserBundle 也在使用中,但我不确定它是否重要。

目前我需要在 10 分钟不活动后注销用户。所以,我想使用 here

中描述的解决方案

这是我遇到的一个问题 - 只要我使用 angular 并且在执行此行后我的所有请求都是异步的

$event->setResponse(new RedirectResponse($this->router->generate('fos_user_security_login')));

我没有被重定向到登录页面。我正在考虑它,但无法弄清楚如果不重写我的每个 $http 请求以便能够处理重定向响应我能做什么。

我想你可以使用http拦截器来解决这个问题。 当用户断开连接时,如果他想获得受保护的资源,您的后端必须 return 状态代码 401。因此在您的拦截器中,当状态代码 401 为 returned 时,您将在登录页面上重定向您的用户。

克里斯

文档 angular : https://docs.angularjs.org/api/ng/service/$http

例子:http://www.webdeveasy.com/interceptors-in-angularjs-and-useful-examples/