Commit 053d0cfb authored by Administrator's avatar Administrator

LoginFilter adds the login to the HTTP session

When a user is correctly logged in, the LoginFilter adds the user login
to the HTTP session. This allows, for example, the REST layer to
retrieve the current logged user.
parent 234b3fb9
...@@ -47,6 +47,7 @@ public class LoginFilter implements Filter { ...@@ -47,6 +47,7 @@ public class LoginFilter implements Filter {
try { try {
if (isLogoutPath(httpRequest)) { if (isLogoutPath(httpRequest)) {
destroySession(httpRequest);
removeTokenCookie(httpResponse); removeTokenCookie(httpResponse);
redirectToIndex(httpRequest, httpResponse); redirectToIndex(httpRequest, httpResponse);
} else if (isIndexPath(httpRequest) || checkToken(httpRequest)) { } else if (isIndexPath(httpRequest) || checkToken(httpRequest)) {
...@@ -54,8 +55,10 @@ public class LoginFilter implements Filter { ...@@ -54,8 +55,10 @@ public class LoginFilter implements Filter {
} else if (checkLogin(httpRequest, httpResponse)) { } else if (checkLogin(httpRequest, httpResponse)) {
continueWithRedirect(httpRequest, httpResponse); continueWithRedirect(httpRequest, httpResponse);
} else if (isRestPath(httpRequest)) { } else if (isRestPath(httpRequest)) {
destroySession(httpRequest);
httpResponse.sendError(HttpServletResponse.SC_FORBIDDEN); httpResponse.sendError(HttpServletResponse.SC_FORBIDDEN);
} else { } else {
destroySession(httpRequest);
redirectToIndex(httpRequest, httpResponse); redirectToIndex(httpRequest, httpResponse);
} }
} catch (IllegalArgumentException iae) { } catch (IllegalArgumentException iae) {
...@@ -109,6 +112,10 @@ public class LoginFilter implements Filter { ...@@ -109,6 +112,10 @@ public class LoginFilter implements Filter {
response.addCookie(cookie); response.addCookie(cookie);
} }
private void destroySession(HttpServletRequest request) {
request.getSession().invalidate();
}
private boolean checkLogin( private boolean checkLogin(
HttpServletRequest request, HttpServletRequest request,
HttpServletResponse response HttpServletResponse response
...@@ -122,6 +129,7 @@ public class LoginFilter implements Filter { ...@@ -122,6 +129,7 @@ public class LoginFilter implements Filter {
final Credentials credentials = new Credentials(login, password); final Credentials credentials = new Credentials(login, password);
response.addCookie(new Cookie("token", credentials.toToken())); response.addCookie(new Cookie("token", credentials.toToken()));
request.getSession().setAttribute("login", login);
return true; return true;
} else { } else {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment