James Moger
2013-06-28 aa7d215a9a174428f4f76244b932797d9b87b910
Exclude federation user from container principal auto-create
1 files modified
15 ■■■■■ changed files
src/main/java/com/gitblit/GitBlit.java 15 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/GitBlit.java
@@ -749,10 +749,7 @@
            if (usernameDecoded.equalsIgnoreCase(Constants.FEDERATION_USER)) {
                List<String> tokens = getFederationTokens();
                if (tokens.contains(pw)) {
                    // the federation user is an administrator
                    UserModel federationUser = new UserModel(Constants.FEDERATION_USER);
                    federationUser.canAdmin = true;
                    return federationUser;
                    return getFederationUser();
                }
            }
        }
@@ -846,7 +843,8 @@
                    logger.debug(MessageFormat.format("{0} authenticated by servlet container principal from {1}",
                            user.username, httpRequest.getRemoteAddr()));
                    return user;
                } else if (settings.getBoolean(Keys.realm.container.autoCreateAccounts, true)) {
                } else if (settings.getBoolean(Keys.realm.container.autoCreateAccounts, false)
                        && !username.equalsIgnoreCase(Constants.FEDERATION_USER)) {
                    // auto-create user from an authenticated container principal
                    user = new UserModel(username.toLowerCase());
                    user.displayName = username;
@@ -1025,6 +1023,13 @@
        String usernameDecoded = decodeUsername(username);
        return userService.deleteUser(usernameDecoded);
    }
    protected UserModel getFederationUser() {
        // the federation user is an administrator
        UserModel federationUser = new UserModel(Constants.FEDERATION_USER);
        federationUser.canAdmin = true;
        return federationUser;
    }
    /**
     * Retrieve the user object for the specified username.