From fdefa2b1fd7e3a4349a4ee72599f5d390166be30 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 25 Apr 2012 17:15:32 -0400
Subject: [PATCH] Displayname and email address persistence for ConfigUserService

---
 src/com/gitblit/LdapUserService.java |   30 +++++++++++++++---------------
 1 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/src/com/gitblit/LdapUserService.java b/src/com/gitblit/LdapUserService.java
index 674e2a0..80a966d 100644
--- a/src/com/gitblit/LdapUserService.java
+++ b/src/com/gitblit/LdapUserService.java
@@ -56,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);
@@ -65,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
@@ -114,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);
 	}
 
 	/**
@@ -135,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}", escapeLDAPSearchFilter(simpleUsername));
 
 			SearchResult result = doSearch(ldapConnection, accountBase, accountPattern);
@@ -145,7 +145,7 @@
 				String loggingInUserDN = loggingInUser.getDN();
 				
 				if (isAuthenticated(ldapConnection, loggingInUserDN, new String(password))) {
-					logger.debug("Authenitcated: " + username);
+					logger.debug("LDAP authenticated: " + username);
 					
 					UserModel user = getUserModel(simpleUsername);
 					if (user == null)	// create user object for new authenticated user
@@ -176,7 +176,7 @@
 
 	private void setAdminAttribute(UserModel user) {
 	    user.canAdmin = false;
-	    List<String>  admins = settings.getStrings(Keys.realm.ldap_admins);
+	    List<String>  admins = settings.getStrings(Keys.realm.ldap.admins);
 	    for (String admin : admins) {
 	        if (admin.startsWith("@")) { // Team
 	            if (user.getTeam(admin.substring(1)) != null)
@@ -195,8 +195,8 @@
 		user.password = "StoredInLDAP";
 		
 		// Get Attributes for full name / email
-		String displayName = settings.getString(Keys.realm.ldap_displayName, "displayName");
-		String email = settings.getString(Keys.realm.ldap_email, "email");
+		String displayName = settings.getString(Keys.realm.ldap.displayName, "displayName");
+		String email = settings.getString(Keys.realm.ldap.email, "email");
 
 		// Replace embedded ${} with attributes
 		if (displayName.contains("${")) {
@@ -222,8 +222,8 @@
 		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}", escapeLDAPSearchFilter(loggingInUserDN));
 		groupMemberPattern = StringUtils.replace(groupMemberPattern, "${username}", escapeLDAPSearchFilter(simpleUsername));
@@ -250,7 +250,7 @@
 	
 	private TeamModel createTeamFromLdap(SearchResultEntry teamEntry) {
 		TeamModel answer = new TeamModel(teamEntry.getAttributeValue("cn"));
-		// If attributes other than team name ever from from LDAP, this is where to get them
+		// potentially retrieve other attributes here in the future
 		
 		return answer;		
 	}
@@ -271,7 +271,7 @@
 			ldapConnection.bind(userDn, password);
 			return true;
 		} catch (LDAPException e) {
-			logger.error("Error authenitcating user", e);
+			logger.error("Error authenticating user", e);
 			return false;
 		}
 	}

--
Gitblit v1.9.1