如果收到403错误,阻止AngularJS路由加载视图

时间:2015-07-08 12:06:32

标签: asp.net-mvc angularjs angularjs-routing

我正在创建一个权限后端代码,每当用户尝试访问特定页面时,我都会检查其权限,如果他们没有正确的权限,我会返回403错误一个JSON结果。

以下将说明过程如何运作:

  1. 我有一个处理页面访问的路由: enter image description here

  2. 这条路线将查看一个ASP.NET MVC页面,该页面将一个ViewResult(一个视图)返回给AngularJS: enter image description here

  3. View操作有一个属性来验证用户的身份验证,如果用户没有正确的权限,我将返回403 JSON响应而不是View: enter image description here

  4. 我还创建了一个处理响应错误的拦截器 - 在这种情况下,响应会抛出403错误 - 所以我可以将用户重定向到登录页面: enter image description here

  5. 这些步骤正常工作,当我收到403错误时,它会重定向到登录名。但是,我在控制台上也遇到了一些奇怪的错误(不要担心GET路由名称,这是正确的): enter image description here

    当我拦截403错误时,似乎AngularJS继续承诺流而不是停止它。有没有办法防止这种情况发生?我的意思是,在我收到403错误之后停止流程并将用户转向另一条路线,就像我现在一样?

    谢谢大家!

0 个答案:

没有答案