James Moger
2013-12-11 c1b0e4a5a3acc31bd469cf498d1ba7d390c379b2
Centralize cookie creation

Change-Id: I1a17416121764f33a8d05a88c80cece0c03ac41d
7 files modified
57 ■■■■■ changed files
src/main/java/com/gitblit/auth/AuthenticationProvider.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/auth/HtpasswdAuthProvider.java 6 ●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/auth/LdapAuthProvider.java 4 ●●● patch | view | raw | blame | history
src/main/java/com/gitblit/auth/PAMAuthProvider.java 10 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/auth/RedmineAuthProvider.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/auth/SalesforceAuthProvider.java 10 ●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/auth/WindowsAuthProvider.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/auth/AuthenticationProvider.java
@@ -26,6 +26,8 @@
import com.gitblit.manager.IUserManager;
import com.gitblit.models.TeamModel;
import com.gitblit.models.UserModel;
import com.gitblit.utils.ArrayUtils;
import com.gitblit.utils.StringUtils;
public abstract class AuthenticationProvider {
@@ -68,6 +70,13 @@
        return serviceName;
    }
    protected void setCookie(UserModel user, char [] password) {
        // create a user cookie
        if (StringUtils.isEmpty(user.cookie) && !ArrayUtils.isEmpty(password)) {
            user.cookie = StringUtils.getSHA1(user.username + new String(password));
        }
    }
    protected void updateUser(UserModel userModel) {
        // TODO implement user model change detection
        // account for new user and revised user
src/main/java/com/gitblit/auth/HtpasswdAuthProvider.java
@@ -35,8 +35,6 @@
import com.gitblit.Keys;
import com.gitblit.auth.AuthenticationProvider.UsernamePasswordAuthenticationProvider;
import com.gitblit.models.UserModel;
import com.gitblit.utils.ArrayUtils;
import com.gitblit.utils.StringUtils;
/**
@@ -186,9 +184,7 @@
                }
                // create a user cookie
                if (StringUtils.isEmpty(user.cookie) && !ArrayUtils.isEmpty(password)) {
                    user.cookie = StringUtils.getSHA1(user.username + passwd);
                }
                setCookie(user, password);
                // Set user attributes, hide password from backing user service.
                user.password = Constants.EXTERNAL_ACCOUNT;
src/main/java/com/gitblit/auth/LdapAuthProvider.java
@@ -295,9 +295,7 @@
                            }
                            // create a user cookie
                            if (StringUtils.isEmpty(user.cookie) && !ArrayUtils.isEmpty(password)) {
                                user.cookie = StringUtils.getSHA1(user.username + new String(password));
                            }
                            setCookie(user, password);
                            if (!supportsTeamMembershipChanges()) {
                                getTeamsFromLdap(ldapConnection, simpleUsername, loggingInUser, user);
src/main/java/com/gitblit/auth/PAMAuthProvider.java
@@ -26,8 +26,6 @@
import com.gitblit.Keys;
import com.gitblit.auth.AuthenticationProvider.UsernamePasswordAuthenticationProvider;
import com.gitblit.models.UserModel;
import com.gitblit.utils.ArrayUtils;
import com.gitblit.utils.StringUtils;
/**
 * Implementation of PAM authentication for Linux/Unix/MacOSX.
@@ -104,13 +102,13 @@
        }
        UserModel user = userManager.getUserModel(username);
        if (user == null)    // create user object for new authenticated user
        if (user == null) {
            // create user object for new authenticated user
            user = new UserModel(username.toLowerCase());
        }
        // create a user cookie
        if (StringUtils.isEmpty(user.cookie) && !ArrayUtils.isEmpty(password)) {
            user.cookie = StringUtils.getSHA1(user.username + new String(password));
        }
        setCookie(user, password);
        // update user attributes from UnixUser
        user.accountType = getAccountType();
src/main/java/com/gitblit/auth/RedmineAuthProvider.java
@@ -26,7 +26,6 @@
import com.gitblit.Keys;
import com.gitblit.auth.AuthenticationProvider.UsernamePasswordAuthenticationProvider;
import com.gitblit.models.UserModel;
import com.gitblit.utils.ArrayUtils;
import com.gitblit.utils.ConnectionUtils;
import com.gitblit.utils.StringUtils;
import com.google.gson.Gson;
@@ -122,13 +121,13 @@
        }
        UserModel user = userManager.getUserModel(username);
        if (user == null)    // create user object for new authenticated user
        if (user == null) {
            // create user object for new authenticated user
            user = new UserModel(username.toLowerCase());
        }
        // create a user cookie
        if (StringUtils.isEmpty(user.cookie) && !ArrayUtils.isEmpty(password)) {
            user.cookie = StringUtils.getSHA1(user.username + new String(password));
        }
        setCookie(user, password);
        // update user attributes from Redmine
        user.accountType = getAccountType();
src/main/java/com/gitblit/auth/SalesforceAuthProvider.java
@@ -5,8 +5,6 @@
import com.gitblit.Keys;
import com.gitblit.auth.AuthenticationProvider.UsernamePasswordAuthenticationProvider;
import com.gitblit.models.UserModel;
import com.gitblit.utils.ArrayUtils;
import com.gitblit.utils.StringUtils;
import com.sforce.soap.partner.Connector;
import com.sforce.soap.partner.GetUserInfoResult;
import com.sforce.soap.partner.PartnerConnection;
@@ -62,15 +60,11 @@
            UserModel user = null;
            synchronized (this) {
                user = userManager.getUserModel(simpleUsername);
                if (user == null)
                if (user == null) {
                    user = new UserModel(simpleUsername);
                if (StringUtils.isEmpty(user.cookie)
                        && !ArrayUtils.isEmpty(password)) {
                    user.cookie = StringUtils.getSHA1(user.username
                            + new String(password));
                }
                setCookie(user, password);
                setUserAttributes(user, info);
                updateUser(user);
src/main/java/com/gitblit/auth/WindowsAuthProvider.java
@@ -29,7 +29,6 @@
import com.gitblit.Keys;
import com.gitblit.auth.AuthenticationProvider.UsernamePasswordAuthenticationProvider;
import com.gitblit.models.UserModel;
import com.gitblit.utils.ArrayUtils;
import com.gitblit.utils.StringUtils;
import com.sun.jna.platform.win32.Win32Exception;
@@ -136,13 +135,13 @@
        }
        UserModel user = userManager.getUserModel(username);
        if (user == null)    // create user object for new authenticated user
        if (user == null) {
            // create user object for new authenticated user
            user = new UserModel(username.toLowerCase());
        }
        // create a user cookie
        if (StringUtils.isEmpty(user.cookie) && !ArrayUtils.isEmpty(password)) {
            user.cookie = StringUtils.getSHA1(user.username + new String(password));
        }
        setCookie(user, password);
        // update user attributes from Windows identity
        user.accountType = getAccountType();