From aa7d215a9a174428f4f76244b932797d9b87b910 Mon Sep 17 00:00:00 2001 From: James Moger Date: Fri, 28 Jun 2013 10:41:56 -0400 Subject: [PATCH] Exclude federation user from container principal auto-create --- src/main/java/com/gitblit/GitBlit.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/gitblit/GitBlit.java b/src/main/java/com/gitblit/GitBlit.java index 1f9a9472..6285733b 100644 --- a/src/main/java/com/gitblit/GitBlit.java +++ b/src/main/java/com/gitblit/GitBlit.java @@ -749,10 +749,7 @@ public class GitBlit implements ServletContextListener { if (usernameDecoded.equalsIgnoreCase(Constants.FEDERATION_USER)) { List 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 @@ public class GitBlit implements ServletContextListener { 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 @@ public class GitBlit implements ServletContextListener { 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. -- 2.39.5