From 98b4b9f4b17f9e9d0900b13bf1092eee32499d1b Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Tue, 24 Apr 2012 18:09:11 -0400 Subject: [PATCH] Add LdapUserServiceTest to suite and adjusted test port from 389 to 1389 --- src/com/gitblit/LdapUserService.java | 40 ++++++++++++++++++++-------------------- 1 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/com/gitblit/LdapUserService.java b/src/com/gitblit/LdapUserService.java index 9fcef9d..25f4e03 100644 --- a/src/com/gitblit/LdapUserService.java +++ b/src/com/gitblit/LdapUserService.java @@ -20,6 +20,7 @@ import java.net.URI; import java.net.URISyntaxException; import java.security.GeneralSecurityException; +import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -55,7 +56,7 @@ @Override public void setup(IStoredSettings settings) { this.settings = settings; - String file = settings.getString(Keys.realm.ldap_backingUserService, "users.conf"); + String file = settings.getString(Keys.realm.ldap.backingUserService, "users.conf"); File realmFile = GitBlit.getFileOrFolder(file); serviceImpl = createUserService(realmFile); @@ -64,9 +65,9 @@ private LDAPConnection getLdapConnection() { try { - URI ldapUrl = new URI(settings.getRequiredString(Keys.realm.ldap_server)); - String bindUserName = settings.getString(Keys.realm.ldap_username, ""); - String bindPassword = settings.getString(Keys.realm.ldap_password, ""); + URI ldapUrl = new URI(settings.getRequiredString(Keys.realm.ldap.server)); + String bindUserName = settings.getString(Keys.realm.ldap.username, ""); + String bindPassword = settings.getString(Keys.realm.ldap.password, ""); int ldapPort = ldapUrl.getPort(); if (ldapUrl.getScheme().equalsIgnoreCase("ldaps")) { // SSL @@ -113,7 +114,7 @@ * @since 1.0.0 */ public boolean supportsTeamMembershipChanges() { - return !settings.getBoolean(Keys.realm.ldap_maintainTeams, false); + return !settings.getBoolean(Keys.realm.ldap.maintainTeams, false); } /** @@ -134,8 +135,8 @@ LDAPConnection ldapConnection = getLdapConnection(); if (ldapConnection != null) { // Find the logging in user's DN - String accountBase = settings.getString(Keys.realm.ldap_accountBase, ""); - String accountPattern = settings.getString(Keys.realm.ldap_accountPattern, "(&(objectClass=person)(sAMAccountName=${username}))"); + String accountBase = settings.getString(Keys.realm.ldap.accountBase, ""); + String accountPattern = settings.getString(Keys.realm.ldap.accountPattern, "(&(objectClass=person)(sAMAccountName=${username}))"); accountPattern = StringUtils.replace(accountPattern, "${username}", simpleUsername); SearchResult result = doSearch(ldapConnection, accountBase, accountPattern); @@ -174,25 +175,24 @@ } private void setAdminAttribute(UserModel user) { - String adminString = settings.getString(Keys.realm.ldap_admins, ""); - String[] admins = adminString.split(" "); - user.canAdmin = false; - for (String admin : admins) { - if (admin.startsWith("@")) { // Team - if (user.getTeam(admin.substring(1)) != null) - user.canAdmin = true; - } else - if (user.getName().equalsIgnoreCase(admin)) - user.canAdmin = true; - } + user.canAdmin = false; + List<String> admins = settings.getStrings(Keys.realm.ldap.admins); + for (String admin : admins) { + if (admin.startsWith("@")) { // Team + if (user.getTeam(admin.substring(1)) != null) + user.canAdmin = true; + } else + if (user.getName().equalsIgnoreCase(admin)) + user.canAdmin = true; + } } private void getTeamsFromLdap(LDAPConnection ldapConnection, String simpleUsername, SearchResultEntry loggingInUser, UserModel user) { String loggingInUserDN = loggingInUser.getDN(); user.teams.clear(); // Clear the users team memberships - we're going to get them from LDAP - String groupBase = settings.getString(Keys.realm.ldap_groupBase, ""); - String groupMemberPattern = settings.getString(Keys.realm.ldap_groupMemberPattern, "(&(objectClass=group)(member=${dn}))"); + String groupBase = settings.getString(Keys.realm.ldap.groupBase, ""); + String groupMemberPattern = settings.getString(Keys.realm.ldap.groupMemberPattern, "(&(objectClass=group)(member=${dn}))"); groupMemberPattern = StringUtils.replace(groupMemberPattern, "${dn}", loggingInUserDN); groupMemberPattern = StringUtils.replace(groupMemberPattern, "${username}", simpleUsername); -- Gitblit v1.9.1