Paul Martin
2016-04-30 a502d96a860456ec5e8c96761db70f7cabb74751
src/main/java/com/gitblit/manager/IAuthenticationManager.java
@@ -18,9 +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.SshSession;
import com.gitblit.transport.ssh.SshKey;
public interface IAuthenticationManager extends IManager {
@@ -31,10 +32,19 @@
    *
    * @param httpRequest
    * @return a user object or null
    * @since 1.4.0
    */
   UserModel authenticate(HttpServletRequest httpRequest);
   public UserModel authenticate(SshSession sshSession);
   /**
    * 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.
@@ -45,6 +55,7 @@
    * @param httpRequest
    * @param requiresCertificate
    * @return a user object or null
    * @since 1.4.0
    */
   UserModel authenticate(HttpServletRequest httpRequest, boolean requiresCertificate);
@@ -54,15 +65,28 @@
    * @see IUserService.authenticate(String, char[])
    * @param username
    * @param password
    * @param remoteIP
    * @return a user object or null
    * @since 1.4.0
    */
   UserModel authenticate(String username, char[] password);
   UserModel authenticate(String username, char[] password, String remoteIP);
   /**
    * Return the UserModel for already authenticated user.
    *
    * @see IUserService.authenticate(String, char[])
    * @param username
    * @return a user object or null
    * @since 1.7.0
    */
   UserModel authenticate(String username);
   /**
    * 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);
@@ -71,21 +95,45 @@
    *
    * @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);
@@ -94,6 +142,7 @@
    *
    * @param user
    * @return true if the user service supports display name changes
    * @since 1.4.0
    */
   boolean supportsDisplayNameChanges(UserModel user);
@@ -102,6 +151,7 @@
    *
    * @param user
    * @return true if the user service supports email address changes
    * @since 1.4.0
    */
   boolean supportsEmailAddressChanges(UserModel user);
@@ -110,6 +160,7 @@
    *
    * @param user
    * @return true if the user service supports team membership changes
    * @since 1.4.0
    */
   boolean supportsTeamMembershipChanges(UserModel user);
@@ -118,7 +169,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);
}