summaryrefslogtreecommitdiffstats
path: root/src/main/java/com/gitblit/manager
diff options
context:
space:
mode:
authorJames Moger <james.moger@gitblit.com>2014-09-25 09:17:44 -0400
committerJames Moger <james.moger@gitblit.com>2014-09-25 09:17:44 -0400
commit219722e27a5832b33d2fad7cd5649015ea3523a8 (patch)
tree41147ec35e9118bc2415bc41c4f9a9d433273bfd /src/main/java/com/gitblit/manager
parentbfc22d47158b685ff8c6a686faf0f213a65fa0e1 (diff)
parentec7ed84b04cd3981ae01b104bd52fc010f31e6a7 (diff)
downloadgitblit-219722e27a5832b33d2fad7cd5649015ea3523a8.tar.gz
gitblit-219722e27a5832b33d2fad7cd5649015ea3523a8.zip
Merge branch 'ticket/187' into develop
Diffstat (limited to 'src/main/java/com/gitblit/manager')
-rw-r--r--src/main/java/com/gitblit/manager/AuthenticationManager.java37
-rw-r--r--src/main/java/com/gitblit/manager/GitblitManager.java12
-rw-r--r--src/main/java/com/gitblit/manager/IAuthenticationManager.java22
3 files changed, 69 insertions, 2 deletions
diff --git a/src/main/java/com/gitblit/manager/AuthenticationManager.java b/src/main/java/com/gitblit/manager/AuthenticationManager.java
index ccf03c0b..6c198fea 100644
--- a/src/main/java/com/gitblit/manager/AuthenticationManager.java
+++ b/src/main/java/com/gitblit/manager/AuthenticationManager.java
@@ -458,7 +458,20 @@ public class AuthenticationManager implements IAuthenticationManager {
* @param user
*/
@Override
+ @Deprecated
public void setCookie(HttpServletResponse response, UserModel user) {
+ setCookie(null, response, user);
+ }
+
+ /**
+ * Sets a cookie for the specified user.
+ *
+ * @param request
+ * @param response
+ * @param user
+ */
+ @Override
+ public void setCookie(HttpServletRequest request, HttpServletResponse response, UserModel user) {
if (settings.getBoolean(Keys.web.allowCookieAuthentication, true)) {
GitBlitWebSession session = GitBlitWebSession.get();
boolean standardLogin = session.authenticationType.isStandard();
@@ -481,7 +494,13 @@ public class AuthenticationManager implements IAuthenticationManager {
userCookie.setMaxAge((int) TimeUnit.DAYS.toSeconds(7));
}
}
- userCookie.setPath("/");
+ String path = "/";
+ if (request != null) {
+ if (!StringUtils.isEmpty(request.getContextPath())) {
+ path = request.getContextPath();
+ }
+ }
+ userCookie.setPath(path);
response.addCookie(userCookie);
}
}
@@ -490,11 +509,25 @@ public class AuthenticationManager implements IAuthenticationManager {
/**
* Logout a user.
*
+ * @param response
* @param user
*/
@Override
+ @Deprecated
public void logout(HttpServletResponse response, UserModel user) {
- setCookie(response, null);
+ setCookie(null, response, null);
+ }
+
+ /**
+ * Logout a user.
+ *
+ * @param request
+ * @param response
+ * @param user
+ */
+ @Override
+ public void logout(HttpServletRequest request, HttpServletResponse response, UserModel user) {
+ setCookie(request, response, null);
}
/**
diff --git a/src/main/java/com/gitblit/manager/GitblitManager.java b/src/main/java/com/gitblit/manager/GitblitManager.java
index 38a18efb..2c883af2 100644
--- a/src/main/java/com/gitblit/manager/GitblitManager.java
+++ b/src/main/java/com/gitblit/manager/GitblitManager.java
@@ -665,16 +665,28 @@ public class GitblitManager implements IGitblit {
}
@Override
+ @Deprecated
public void setCookie(HttpServletResponse response, UserModel user) {
authenticationManager.setCookie(response, user);
}
@Override
+ public void setCookie(HttpServletRequest request, HttpServletResponse response, UserModel user) {
+ authenticationManager.setCookie(request, response, user);
+ }
+
+ @Override
+ @Deprecated
public void logout(HttpServletResponse response, UserModel user) {
authenticationManager.logout(response, user);
}
@Override
+ public void logout(HttpServletRequest request, HttpServletResponse response, UserModel user) {
+ authenticationManager.logout(request, response, user);
+ }
+
+ @Override
public boolean supportsCredentialChanges(UserModel user) {
return authenticationManager.supportsCredentialChanges(user);
}
diff --git a/src/main/java/com/gitblit/manager/IAuthenticationManager.java b/src/main/java/com/gitblit/manager/IAuthenticationManager.java
index 2665b439..3600b325 100644
--- a/src/main/java/com/gitblit/manager/IAuthenticationManager.java
+++ b/src/main/java/com/gitblit/manager/IAuthenticationManager.java
@@ -85,17 +85,39 @@ public interface IAuthenticationManager extends IManager {
* @param user
* @since 1.4.0
*/
+ @Deprecated
void setCookie(HttpServletResponse response, UserModel user);
/**
+ * Sets a cookie for the specified user.
+ *
+ * @param request
+ * @param response
+ * @param user
+ * @since 1.6.1
+ */
+ void setCookie(HttpServletRequest request, HttpServletResponse response, UserModel user);
+
+ /**
* Logout a user.
*
* @param user
* @since 1.4.0
*/
+ @Deprecated
void logout(HttpServletResponse response, UserModel user);
/**
+ * Logout a user.
+ *
+ * @param request
+ * @param response
+ * @param user
+ * @since 1.6.1
+ */
+ void logout(HttpServletRequest request, HttpServletResponse response, UserModel user);
+
+ /**
* Does the user service support changes to credentials?
*
* @return true or false