Во-первых, извините, если этот вопрос не имеет смысла. Я разрабатываю код для управления сессиями для своего приложения со средним стеком. С последних нескольких дней я нашел много способов реализовать его, используя либо файлы cookie, сеансы, либо http-заголовки. Я пытался реализовать, но не добился успеха.
Я успешно связываю перехватчик с моим кодом. Код прослушивает каждый req/res.
Вот какой код:
app.js
angular.module('MyApp', [
'ngMaterial',
'ngMdIcons',
'ui.router',
'e3-core-ui.services',
'e3-core-ui.utils'
])
.config(['$stateProvider', '$routeProvider','$httpProvider','$mdThemingProvider', '$mdIconProvider', function($stateProvider, $routeProvider, $httpProvider, $mdThemingProvider, $mdIconProvider) {
$httpProvider.interceptors.push('YourHttpInterceptor');
...
Перехватчик-код
angular.module('MyApp')
.factory('YourHttpInterceptor', ['$q',
function($q, ) {
return {
'request': function(config) {
console.log("req");
return config;
},
// Optional method
'response': function(response) {
// do something on response success
console.log("inside the response ");
return response;
},
// optional method
'responseError': function(rejection) {
// Here you can do something in response error, like handle errors, present error messages etc.
console.log("inside the response error ");
return $q.reject(rejection);
}
};
}]);
Я буду очень благодарен за ваше время и помощь.
В Meanjs у вас есть контроллер проверки подлинности
означают/модули/пользователей/клиентов/Контроллеры/authentication.client.controller.js
но если вы хотите использовать службу проверки подлинности в своем перехватчике, просто имейте в виду, что инъекция зависимости не так просто, как это делается в контроллере.
вам нужно использовать $ injector
var AuthService = $injector.get('Auth');
то вы должны быть уверены, что ваш пользователь аутентифицирован и проверьте, что в вашей функции запроса что-то вроде
if (!Authentication.user) {
$location.path('/'); // or a login page
}