Browse Source

Exclude federation user from container principal auto-create

tags/v1.3.0
James Moger 11 years ago
parent
commit
aa7d215a9a
1 changed files with 10 additions and 5 deletions
  1. 10
    5
      src/main/java/com/gitblit/GitBlit.java

+ 10
- 5
src/main/java/com/gitblit/GitBlit.java View File

@@ -749,10 +749,7 @@ public class GitBlit implements ServletContextListener {
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 @@ 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.

Loading…
Cancel
Save