[BAEL-9552] - Create spring-security-modules folder
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
(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');
|
||||
}
|
||||
});
|
||||
}
|
||||
})();
|
||||
@@ -0,0 +1,34 @@
|
||||
(function () {
|
||||
'use strict';
|
||||
|
||||
angular
|
||||
.module('app')
|
||||
.controller('HomeController', HomeController);
|
||||
|
||||
HomeController.$inject = ['$window', '$http', '$scope'];
|
||||
function HomeController($window, $http, $scope) {
|
||||
var vm = this;
|
||||
|
||||
vm.user = null;
|
||||
|
||||
initController();
|
||||
|
||||
function initController() {
|
||||
|
||||
$http({
|
||||
url: 'http://localhost:8082/user',
|
||||
method: "GET"
|
||||
}).then(function (response) {
|
||||
vm.user = response.data.name;
|
||||
},function(error){
|
||||
console.log(error);
|
||||
});
|
||||
};
|
||||
|
||||
$scope.logout = function(){
|
||||
$window.sessionStorage.setItem('userData', '');
|
||||
$http.defaults.headers.common['Authorization'] = 'Basic';
|
||||
}
|
||||
}
|
||||
|
||||
})();
|
||||
@@ -0,0 +1,3 @@
|
||||
<h1>Hi {{vm.user}}!</h1>
|
||||
<p>You're logged in!!</p>
|
||||
<p><a href="#!/login" class="btn btn-primary" ng-click="logout()">Logout</a></p>
|
||||
@@ -0,0 +1,17 @@
|
||||
<!DOCTYPE html>
|
||||
<html ng-app="app">
|
||||
|
||||
<head>
|
||||
</head>
|
||||
<body>
|
||||
<div ng-view></div>
|
||||
|
||||
<script src="//code.jquery.com/jquery-3.1.1.min.js"></script>
|
||||
<script src="//code.angularjs.org/1.6.0/angular.min.js"></script>
|
||||
<script src="//code.angularjs.org/1.6.0/angular-route.min.js"></script>
|
||||
<script src="app.js"></script>
|
||||
<script src="home/home.controller.js"></script>
|
||||
<script src="login/login.controller.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,38 @@
|
||||
(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.")
|
||||
}
|
||||
});
|
||||
};
|
||||
}
|
||||
})();
|
||||
@@ -0,0 +1,18 @@
|
||||
<div>
|
||||
<h2>Login</h2>
|
||||
<form name="form" ng-submit="vm.login()" role="form">
|
||||
<div>
|
||||
<label for="username">Username</label>
|
||||
<input type="text" name="username" id="username" ng-model="vm.username" required />
|
||||
<span ng-show="form.username.$dirty && form.username.$error.required">Username is required</span>
|
||||
</div>
|
||||
<div>
|
||||
<label for="password">Password</label>
|
||||
<input type="password" name="password" id="password" ng-model="vm.password" required />
|
||||
<span ng-show="form.password.$dirty && form.password.$error.required">Password is required</span>
|
||||
</div>
|
||||
<div class="form-actions">
|
||||
<button type="submit" ng-disabled="form.$invalid || vm.dataLoading">Login</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
Reference in New Issue
Block a user