Here is the app.js of my project:
(function () { 'use strict'; angular .module('app', ['ui.router', 'ngCookies', 'angular-inview', 'ngMaterial']) .config(config) .run(run); config.$inject = ['$stateProvider', '$urlRouterProvider', '$mdThemingProvider']; function config($stateProvider, $urlRouterProvider, $mdThemingProvider) { $mdThemingProvider.theme('default') .primaryPalette('deep-orange') .accentPalette('teal', { 'default': 'A400' }); $urlRouterProvider.otherwise('/app'); $stateProvider .state('app', { url: '/app', data: { clearenceLevel: 1 }, views: { '': { templateUrl: 'app/views/navbar.html', } } }) .state('home.works', { url: '/works', templateUrl: 'app/views/works.html', controller: 'WorksController as vm' }) .state('login', { url: '/login', templateUrl: 'app/views/login.html', controller: 'LoginController as vm', data: { clearenceLevel: 0 } }) .state('register', { url: '/register', templateUrl: 'app/views/register.html', controller: 'RegisterController as vm', data: { clearenceLevel: 0 } }); } run.$inject = ['$rootScope', '$location', '$state', '$cookieStore', '$http', 'AuthenticationService']; function run($rootScope, $location, $state, $cookieStore, $http, AuthenticationService) { $rootScope.globals = $cookieStore.get('globals') || {}; if ($rootScope.globals.currentUser) { $http.defaults.headers.common['aimm-token'] = $rootScope.globals.currentUser.token; $http.defaults.headers.common['aimm-id'] = $rootScope.globals.currentUser.id; } $rootScope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) { var clearenceLevel = toState.data.clearenceLevel; var loggedIn = $rootScope.globals.currentUser; if (clearenceLevel > 0 && !loggedIn) { alert("redirecting"); return $state.go('login'); } }); } })();
$ State.go () simply cannot work for me. $on('$stateChangeStart'...); works fine, and a warning appears when you try to reach a protected state without a session. But return $state.go('login'); does not work. It redirects to /app .
Thank you for your help.
javascript angularjs angular-ui-router
Ruben renzema
source share