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/manager/IAuthenticationManager.java | 72 +++++++++++++++++++++++++++++++++++
1 files changed, 71 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/gitblit/manager/IAuthenticationManager.java b/src/main/java/com/gitblit/manager/IAuthenticationManager.java
index 093f44d..d48ec53 100644
--- a/src/main/java/com/gitblit/manager/IAuthenticationManager.java
+++ b/src/main/java/com/gitblit/manager/IAuthenticationManager.java
@@ -18,8 +18,10 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import com.gitblit.Constants.Role;
import com.gitblit.models.TeamModel;
import com.gitblit.models.UserModel;
+import com.gitblit.transport.ssh.SshKey;
public interface IAuthenticationManager extends IManager {
@@ -30,8 +32,19 @@
*
* @param httpRequest
* @return a user object or null
+ * @since 1.4.0
*/
UserModel authenticate(HttpServletRequest httpRequest);
+
+ /**
+ * Authenticate a user based on a ssh public key.
+ *
+ * @param username
+ * @param key
+ * @return a user object or null
+* * @since 1.5.0
+ */
+ UserModel authenticate(String username, SshKey key);
/**
* Authenticate a user based on HTTP request parameters.
@@ -42,6 +55,7 @@
* @param httpRequest
* @param requiresCertificate
* @return a user object or null
+ * @since 1.4.0
*/
UserModel authenticate(HttpServletRequest httpRequest, boolean requiresCertificate);
@@ -52,29 +66,63 @@
* @param username
* @param password
* @return a user object or null
+ * @since 1.4.0
*/
UserModel authenticate(String username, char[] password);
+
+ /**
+ * Returns the Gitlbit cookie in the request.
+ *
+ * @param request
+ * @return the Gitblit cookie for the request or null if not found
+ * @since 1.4.0
+ */
+ String getCookie(HttpServletRequest request);
/**
* Sets a cookie for the specified user.
*
* @param response
* @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
- * @since 1.0.0
+ * @since 1.4.0
*/
boolean supportsCredentialChanges(UserModel user);
@@ -83,6 +131,7 @@
*
* @param user
* @return true if the user service supports display name changes
+ * @since 1.4.0
*/
boolean supportsDisplayNameChanges(UserModel user);
@@ -91,6 +140,7 @@
*
* @param user
* @return true if the user service supports email address changes
+ * @since 1.4.0
*/
boolean supportsEmailAddressChanges(UserModel user);
@@ -99,6 +149,7 @@
*
* @param user
* @return true if the user service supports team membership changes
+ * @since 1.4.0
*/
boolean supportsTeamMembershipChanges(UserModel user);
@@ -107,7 +158,26 @@
*
* @param user
* @return true if the team memberships can be changed
+ * @since 1.4.0
*/
boolean supportsTeamMembershipChanges(TeamModel team);
+ /**
+ * Returns true if the specified role can be changed.
+ *
+ * @param user
+ * @return true if the specified role can be changed
+ * @since 1.6.1
+ */
+ boolean supportsRoleChanges(UserModel user, Role role);
+
+ /**
+ * Returns true if the specified role can be changed.
+ *
+ * @param team
+ * @return true if the specified role can be changed
+ * @since 1.6.1
+ */
+ boolean supportsRoleChanges(TeamModel team, Role role);
+
}
\ No newline at end of file
--
Gitblit v1.9.1