# HG changeset patch # User Björn Ricks # Date 1350979062 -7200 # Node ID e39ac9767a69a26f63a24e7bd6a22b99c0127523 # Parent 0674d89210f5fdf18dabf232890358e2f2d5bf37 Implement UserService method to remove current user from session For being able to logout a user UserService must provide a method the remove the current user object from the session. Part of flys/issue916 (Logout: "Abmelden" Knopf mit Funktion belegen) diff -r 0674d89210f5 -r e39ac9767a69 flys-client/src/main/java/de/intevation/flys/client/client/services/UserService.java --- a/flys-client/src/main/java/de/intevation/flys/client/client/services/UserService.java Tue Oct 23 07:39:09 2012 +0200 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/services/UserService.java Tue Oct 23 09:57:42 2012 +0200 @@ -24,5 +24,10 @@ */ User getCurrentUser(String locale) throws AuthenticationException; + + /** + * Removes the current user object from the session + */ + void logoutCurrentUser(); } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : diff -r 0674d89210f5 -r e39ac9767a69 flys-client/src/main/java/de/intevation/flys/client/client/services/UserServiceAsync.java --- a/flys-client/src/main/java/de/intevation/flys/client/client/services/UserServiceAsync.java Tue Oct 23 07:39:09 2012 +0200 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/services/UserServiceAsync.java Tue Oct 23 09:57:42 2012 +0200 @@ -15,5 +15,7 @@ void getCurrentUser( String locale, AsyncCallback callback); + + void logoutCurrentUser(AsyncCallback callback); } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : diff -r 0674d89210f5 -r e39ac9767a69 flys-client/src/main/java/de/intevation/flys/client/server/UserServiceImpl.java --- a/flys-client/src/main/java/de/intevation/flys/client/server/UserServiceImpl.java Tue Oct 23 07:39:09 2012 +0200 +++ b/flys-client/src/main/java/de/intevation/flys/client/server/UserServiceImpl.java Tue Oct 23 09:57:42 2012 +0200 @@ -1,5 +1,7 @@ package de.intevation.flys.client.server; +import javax.servlet.http.HttpSession; + import org.w3c.dom.Element; import org.apache.log4j.Logger; @@ -60,5 +62,10 @@ logger.error("No users existing in the server."); throw new AuthenticationException(ERROR_NO_USERS); } + + public void logoutCurrentUser() { + HttpSession session = this.getThreadLocalRequest().getSession(); + session.setAttribute("user", null); + } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :