39 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			39 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								(function () {
							 | 
						|||
| 
								 | 
							
								    'use strict';
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    angular
							 | 
						|||
| 
								 | 
							
								        .module('app')
							 | 
						|||
| 
								 | 
							
								        .controller('LoginController', LoginController);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    LoginController.$inject = ['$location', '$window', '$http'];
							 | 
						|||
| 
								 | 
							
								    function LoginController($location, $window, $http) {
							 | 
						|||
| 
								 | 
							
								        var vm = this;
							 | 
						|||
| 
								 | 
							
								        vm.login = login;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        (function initController() {
							 | 
						|||
| 
								 | 
							
								            $window.localStorage.setItem('token', '');
							 | 
						|||
| 
								 | 
							
								        })();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        function login() {
							 | 
						|||
| 
								 | 
							
								            $http({
							 | 
						|||
| 
								 | 
							
								                url: 'http://localhost:8082/login',
							 | 
						|||
| 
								 | 
							
								                method: "POST",
							 | 
						|||
| 
								 | 
							
								                data: { 'userName': vm.username, 'password': vm.password }
							 | 
						|||
| 
								 | 
							
								            }).then(function (response) {
							 | 
						|||
| 
								 | 
							
								                if (response.data) {
							 | 
						|||
| 
								 | 
							
								                    var token = $window.btoa(vm.username + ':' + vm.password);
							 | 
						|||
| 
								 | 
							
								                    var userData = {
							 | 
						|||
| 
								 | 
							
								                        userName: vm.username,
							 | 
						|||
| 
								 | 
							
								                        authData: token
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    $window.sessionStorage.setItem('userData', JSON.stringify(userData));
							 | 
						|||
| 
								 | 
							
								                    $http.defaults.headers.common['Authorization'] = 'Basic ' + token;
							 | 
						|||
| 
								 | 
							
								                    $location.path('/');
							 | 
						|||
| 
								 | 
							
								                } else {
							 | 
						|||
| 
								 | 
							
								                    alert("Authentication failed.")
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            });
							 | 
						|||
| 
								 | 
							
								        };
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								})();
							 |