40 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
(function () {
 | 
						|
    'use strict';
 | 
						|
 | 
						|
    angular
 | 
						|
        .module('app', ['ngRoute'])
 | 
						|
        .config(config)
 | 
						|
        .run(run);
 | 
						|
 | 
						|
    config.$inject = ['$routeProvider', '$locationProvider'];
 | 
						|
    function config($routeProvider, $locationProvider) {
 | 
						|
        $routeProvider
 | 
						|
            .when('/', {
 | 
						|
                controller: 'HomeController',
 | 
						|
                templateUrl: 'home/home.view.html',
 | 
						|
                controllerAs: 'vm'
 | 
						|
            })
 | 
						|
            .when('/login', {
 | 
						|
                controller: 'LoginController',
 | 
						|
                templateUrl: 'login/login.view.html',
 | 
						|
                controllerAs: 'vm'
 | 
						|
            })
 | 
						|
            .otherwise({ redirectTo: '/login' });
 | 
						|
    }
 | 
						|
 | 
						|
    run.$inject = ['$rootScope', '$location', '$http', '$window'];
 | 
						|
    function run($rootScope, $location, $http, $window) {
 | 
						|
        var userData = $window.sessionStorage.getItem('userData');
 | 
						|
        if (userData) {
 | 
						|
            $http.defaults.headers.common['Authorization'] = 'Basic ' + JSON.parse(userData).authData;
 | 
						|
        }
 | 
						|
 | 
						|
        $rootScope.$on('$locationChangeStart', function (event, next, current) {
 | 
						|
            var restrictedPage = $.inArray($location.path(), ['/login']) === -1;
 | 
						|
            var loggedIn = $window.sessionStorage.getItem('userData');;
 | 
						|
            if (restrictedPage && !loggedIn) {
 | 
						|
                $location.path('/login');
 | 
						|
            }
 | 
						|
        });
 | 
						|
    }
 | 
						|
})(); |