From 136fbddd52fba5a06e3c833dce5460cf11f2d5be Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Tue, 30 Sep 2014 10:45:02 -0400
Subject: [PATCH] Merge branch 'ticket/198' into develop
---
src/main/java/com/gitblit/wicket/pages/SessionPage.java | 20 +++++++++++++++++---
1 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/gitblit/wicket/pages/SessionPage.java b/src/main/java/com/gitblit/wicket/pages/SessionPage.java
index 22ae6e2..7717854 100644
--- a/src/main/java/com/gitblit/wicket/pages/SessionPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/SessionPage.java
@@ -56,8 +56,20 @@
// any changes to permissions or roles (issue-186)
UserModel user = app().users().getUserModel(session.getUser().username);
+ if (user == null || user.disabled) {
+ // user was deleted/disabled during session
+ HttpServletRequest request = ((WebRequest) getRequestCycle().getRequest())
+ .getHttpServletRequest();
+ HttpServletResponse response = ((WebResponse) getRequestCycle().getResponse())
+ .getHttpServletResponse();
+ app().authentication().logout(request, response, user);
+ session.setUser(null);
+ session.invalidateNow();
+ return;
+ }
+
// validate cookie during session (issue-361)
- if (app().settings().getBoolean(Keys.web.allowCookieAuthentication, true)) {
+ if (user != null && app().settings().getBoolean(Keys.web.allowCookieAuthentication, true)) {
HttpServletRequest request = ((WebRequest) getRequestCycle().getRequest())
.getHttpServletRequest();
String requestCookie = app().authentication().getCookie(request);
@@ -66,7 +78,7 @@
// cookie was changed during our session
HttpServletResponse response = ((WebResponse) getRequestCycle().getResponse())
.getHttpServletResponse();
- app().authentication().logout(response, user);
+ app().authentication().logout(request, response, user);
session.setUser(null);
session.invalidateNow();
return;
@@ -89,8 +101,10 @@
session.setUser(user);
// Set Cookie
+ WebRequest request = (WebRequest) getRequestCycle().getRequest();
WebResponse response = (WebResponse) getRequestCycle().getResponse();
- app().authentication().setCookie(response.getHttpServletResponse(), user);
+ app().authentication().setCookie(request.getHttpServletRequest(),
+ response.getHttpServletResponse(), user);
session.continueRequest();
}
--
Gitblit v1.9.1