Cha*_*res 20 javascript security http-status-code-403 angularjs-routing
我正在服务器端进行身份验证和授权.
在angularJs中,我正在使用routeProvider进行路由.
$routeProvider.
when('/', {
templateUrl: 'partials/_home',
controller: 'HomeCtrl'
}).
when('/home', {
templateUrl: 'partials/_home',
controller: 'HomeCtrl'
}).
when('/users', {
templateUrl: 'partials/_users',
controller: 'UserCtrl'
}).
when('/users/:id', {
templateUrl: 'partials/_userForm',
controller: 'UserCtrl'
}).
otherwise({
redirectTo: '/'
});
Run Code Online (Sandbox Code Playgroud)
这里是要解决的问题,当我得到403角度没有显示服务器页面时,它只是没有做任何事情.

有人建议如何处理这个问题吗?
Krz*_*ski 38
拦截器是通过将$ httpProvider添加到$ httpProvider.interceptors数组中的$ httpProvider注册的服务工厂.调用工厂并注入依赖项(如果指定)并返回拦截器.
阅读更多:$ http angularjs Doc
.config(function ($httpProvider) {
$httpProvider.interceptors.push('responseObserver');
})
Run Code Online (Sandbox Code Playgroud)
403.html并且500.html是现有的HTML文件,很好地为用户提供了一些帮助内容.
.factory('responseObserver', function responseObserver($q, $window) {
return {
'responseError': function(errorResponse) {
switch (errorResponse.status) {
case 403:
$window.location = './403.html';
break;
case 500:
$window.location = './500.html';
break;
}
return $q.reject(errorResponse);
}
};
});
Run Code Online (Sandbox Code Playgroud)
扩展有关拦截器的知识:http://djds4rce.wordpress.com/2013/08/13/understanding-angular-http-interceptors/