From 32512a300764eb3316edf37cf764623f1133eb4a Mon Sep 17 00:00:00 2001 From: Mirco Nasuti <mirco.nasuti@chuv.ch> Date: Thu, 4 Feb 2016 11:58:30 +0100 Subject: [PATCH] logout works --- README.md | 1 - src/main/java/org/hbp/mip/MIPApplication.java | 10 +++ .../scripts/app/header/header.controller.js | 81 ++++++++++--------- 3 files changed, 51 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index 036cf1057..8040efe92 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,6 @@ The API documentation is available at `<BASE URL>/swagger-ui.html`. A JSON versi ## BUGS -* Logout does not work; * In the profile view, we shouldn't see the '+' between firstname and lastname; * Export PDF; diff --git a/src/main/java/org/hbp/mip/MIPApplication.java b/src/main/java/org/hbp/mip/MIPApplication.java index 5cb87f7fc..de74a8659 100644 --- a/src/main/java/org/hbp/mip/MIPApplication.java +++ b/src/main/java/org/hbp/mip/MIPApplication.java @@ -151,6 +151,7 @@ public class MIPApplication extends WebSecurityConfigurerAdapter { String userJSON = mapper.writeValueAsString(getUser(principal)); Cookie cookie = new Cookie("user", URLEncoder.encode(userJSON, "UTF-8")); cookie.setPath("/"); + cookie.setMaxAge(3600); response.addCookie(cookie); } catch (JsonProcessingException e) { e.printStackTrace(); @@ -160,6 +161,15 @@ public class MIPApplication extends WebSecurityConfigurerAdapter { return principal; } + @RequestMapping("/logout") + public void logout(HttpServletResponse response) { + + Cookie cookie = new Cookie("user", null); + cookie.setPath("/"); + cookie.setMaxAge(0); + response.addCookie(cookie); + } + @Override protected void configure(HttpSecurity http) throws Exception { // @formatter:off diff --git a/src/main/resources/static/frontend/app/scripts/app/header/header.controller.js b/src/main/resources/static/frontend/app/scripts/app/header/header.controller.js index 4ed9a6da1..8f5bd15bc 100644 --- a/src/main/resources/static/frontend/app/scripts/app/header/header.controller.js +++ b/src/main/resources/static/frontend/app/scripts/app/header/header.controller.js @@ -1,40 +1,41 @@ -/** - * Created by Michael DESIGAUD on 11/08/2015. - */ -angular.module('chuvApp.header').controller('HeaderController', ['$scope', '$translate', '$translatePartialLoader', '$state', 'tmhDynamicLocale', 'User','$rootScope', - function ($scope, $translate, $translatePartialLoader, $state, tmhDynamicLocale, User,$rootScope) { - - $translatePartialLoader.addPart('header'); - $translate.refresh(); - - /** - * Change language event - * @param lang new lang - */ - $scope.onChangeLanguage = function (lang) { - $translate.use(lang); - tmhDynamicLocale.set(lang); - }; - - /** - * Is current language - * @param languageKey language key - * @return {boolean} true if language is the same - */ - $scope.isCurrentLanguage = function (languageKey) { - return $translate.use() === languageKey; - }; - - /** - * Search method event - */ - $scope.search = function () { - $state.go('search'); - }; - - $scope.logout = function(){ - User.removeCurrent(); - $state.go('login'); - $rootScope.user = null; - }; - }]); \ No newline at end of file +/** + * Created by Michael DESIGAUD on 11/08/2015. + */ +angular.module('chuvApp.header').controller('HeaderController', ['$scope', '$translate', '$translatePartialLoader', '$state', 'tmhDynamicLocale', 'User','$rootScope','$http', + function ($scope, $translate, $translatePartialLoader, $state, tmhDynamicLocale, User,$rootScope, $http) { + + $translatePartialLoader.addPart('header'); + $translate.refresh(); + + /** + * Change language event + * @param lang new lang + */ + $scope.onChangeLanguage = function (lang) { + $translate.use(lang); + tmhDynamicLocale.set(lang); + }; + + /** + * Is current language + * @param languageKey language key + * @return {boolean} true if language is the same + */ + $scope.isCurrentLanguage = function (languageKey) { + return $translate.use() === languageKey; + }; + + /** + * Search method event + */ + $scope.search = function () { + $state.go('search'); + }; + + $scope.logout = function(){ + $http.get("/logout"); + User.removeCurrent(); + $state.go('login'); + $rootScope.user = null; + }; + }]); -- GitLab