javascript - otherwise - AngularJs routeProvider http status 403
otherwise angularjs (1)
Estoy haciendo autenticación y autorización en el lado del servidor.
En angularJs estoy haciendo el enrutamiento utilizando el routeProvider como este.
$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: ''/''
});
Y aquí está el problema a resolver, cuando obtengo un 403 angular, no se muestra la página del servidor, simplemente no hace nada.
¿Alguien tiene una sugerencia de cómo manejar esto?
Interceptores AngularJS - actualizado a v1.4.2
Los interceptores son fábricas de servicios que se registran con $ httpProvider al agregarlos a la matriz $ httpProvider.interceptors. La fábrica se llama e inyecta dependencias (si se especifica) y devuelve el interceptor.
Para leer más: $ http angularjs Doc
Sección config (parte de ella)
.config(function ($httpProvider) {
$httpProvider.interceptors.push(''responseObserver'');
})
Respuesta - fábrica de observadores
403.html
y 500.html
son archivos HTML existentes, con un bonito estilo y contenido de ayuda para el usuario.
.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);
}
};
});
Para ampliar el conocimiento sobre los interceptores: http://djds4rce.wordpress.com/2013/08/13/understanding-angular-http-interceptors/