Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 如果收到403错误,防止AngularJS路由到加载视图_Asp.net Mvc_Angularjs_Angularjs Routing - Fatal编程技术网

Asp.net mvc 如果收到403错误,防止AngularJS路由到加载视图

Asp.net mvc 如果收到403错误,防止AngularJS路由到加载视图,asp.net-mvc,angularjs,angularjs-routing,Asp.net Mvc,Angularjs,Angularjs Routing,我正在创建一个权限后端代码,每当用户尝试访问特定页面时,我都会检查其权限,如果他们没有正确的权限,我会在JSON结果中返回403错误 下面将显示该过程的工作方式: 我有一个处理页面访问的路由: 此路径将指向ASP.NET MVC页面,该页面将ViewResult(视图)返回给AngularJS: View操作有一个属性来验证用户的身份验证,如果用户没有适当的权限,我将返回403 JSON响应,而不是视图: 我还创建了一个处理响应错误的拦截器—在本例中,响应将抛出403错误—因此我可以将用户

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

下面将显示该过程的工作方式:

  • 我有一个处理页面访问的路由:

  • 此路径将指向ASP.NET MVC页面,该页面将ViewResult(视图)返回给AngularJS:

  • View操作有一个属性来验证用户的身份验证,如果用户没有适当的权限,我将返回403 JSON响应,而不是视图:

  • 我还创建了一个处理响应错误的拦截器—在本例中,响应将抛出403错误—因此我可以将用户重定向到登录页面:

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

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


    谢谢大家!

    在开发时使用angular的非精简版本可获得更详细的错误和堆栈跟踪输出即使使用未精简版本,我也会得到相同的错误,@charlietfl