James Moger
2012-11-01 7ba85bfa11c7fcab21ada61650fe30763aafd7b0
src/com/gitblit/RedmineUserService.java
@@ -11,6 +11,7 @@
import com.gitblit.models.UserModel;
import com.gitblit.utils.ConnectionUtils;
import com.gitblit.utils.StringUtils;
import com.google.gson.Gson;
/**
@@ -72,11 +73,6 @@
    }
    @Override
    public boolean supportsCookies() {
        return false;
    }
    @Override
    public UserModel authenticate(String username, char[] password) {
        String urlText = this.settings.getString(Keys.realm.redmine.url, "");
        if (!urlText.endsWith("/")) {
@@ -90,14 +86,20 @@
            RedmineCurrent current = new Gson().fromJson(jsonString, RedmineCurrent.class);
            String login = current.user.login;
            if (username.equalsIgnoreCase(login)) {
                UserModel userModel = new UserModel(login);
                userModel.displayName = current.user.firstname + " " + current.user.lastname;
                userModel.emailAddress = current.user.mail;
                userModel.canAdmin = true;
                return userModel;
            boolean canAdmin = true;
            // non admin user can not get login name
            if (StringUtils.isEmpty(login)) {
                canAdmin = false;
                login = current.user.mail;
            }
            UserModel userModel = new UserModel(login);
            userModel.canAdmin = canAdmin;
            userModel.displayName = current.user.firstname + " " + current.user.lastname;
            userModel.emailAddress = current.user.mail;
            userModel.cookie = StringUtils.getSHA1(userModel.username + new String(password));
            return userModel;
        } catch (IOException e) {
            logger.error("authenticate", e);
        }