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/
所以,我在我的项目中使用 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/