我使用带有ui-router的angular创建了网页。一般来说效果很好,我只有一个问题。
我有一个视图,可以对不同的Web服务器进行大量单独调用。如果这些Web服务器中的任何一个返回401,我想将用户重定向到登录页面。所有服务器都有SSO,因此用户只需登录一次。
这些请求的示例代码如下:
request.success(function(data) {
//Do something
}).error(function(data, status, headers, config) {
errorService.basicErrorHandler(request.url, data, status, headers, config);
});
和basicErrorHandler执行此操作(仅限相关部分):
if (status === 401 || status === 403) {
$location.path('/login');
}
现在有时会发生什么:
在上述情况下的ng-router中,在已经进行重定向之后,在/ secured-page中启动的请求不会再次重定向用户。如何在ui-router中避免这种行为?