我正在创建一个权限后端代码,每当用户尝试访问特定页面时,我都会检查其权限,如果他们没有正确的权限,我会返回403错误一个JSON结果。
以下将说明过程如何运作:
我有一个处理页面访问的路由:
这条路线将查看一个ASP.NET MVC页面,该页面将一个ViewResult(一个视图)返回给AngularJS:
View操作有一个属性来验证用户的身份验证,如果用户没有正确的权限,我将返回403 JSON响应而不是View:
我还创建了一个处理响应错误的拦截器 - 在这种情况下,响应会抛出403错误 - 所以我可以将用户重定向到登录页面:
这些步骤正常工作,当我收到403错误时,它会重定向到登录名。但是,我在控制台上也遇到了一些奇怪的错误(不要担心GET路由名称,这是正确的):
当我拦截403错误时,似乎AngularJS继续承诺流而不是停止它。有没有办法防止这种情况发生?我的意思是,在我收到403错误之后停止流程并将用户转向另一条路线,就像我现在一样?
谢谢大家!