Index: src/main/java/com/xpn/xwiki/plugin/ldap/XWikiLDAPUtils.java =================================================================== --- src/main/java/com/xpn/xwiki/plugin/ldap/XWikiLDAPUtils.java (revision 17444) +++ src/main/java/com/xpn/xwiki/plugin/ldap/XWikiLDAPUtils.java (working copy) @@ -109,6 +109,11 @@ private String baseDN = ""; /** + * LDAP search format string. + */ + private String userSearchFormatString = "({0}={1})"; + + /** * Create an instance of {@link XWikiLDAPUtils}. * * @param connection the XWiki LDAP connection tool. @@ -151,6 +156,22 @@ } /** + * @param fmt the user search format string. + */ + public void setUserSearchFormatString(String fmt) + { + this.userSearchFormatString = fmt; + } + + /** + * @return the user search format string. + */ + public String getUserSearchFormatString() + { + return this.userSearchFormatString; + } + + /** * @param groupClasses the different LDAP implementations groups classes names. */ public void setGroupClasses(Collection groupClasses) @@ -538,7 +559,7 @@ public List searchUserAttributesByUid(String uid, String[] attributeNameTable) { // search for the user in LDAP - String query = MessageFormat.format("({0}={1})", new Object[] {this.uidAttributeName, uid}); + String query = MessageFormat.format(this.userSearchFormatString, new Object[] {this.uidAttributeName, uid}); if (LOG.isDebugEnabled()) { LOG.debug("Searching for the user in LDAP: user:" + uid + " base:" + this.baseDN + " query:" + query Index: src/main/java/com/xpn/xwiki/user/impl/LDAP/XWikiLDAPAuthServiceImpl.java =================================================================== --- src/main/java/com/xpn/xwiki/user/impl/LDAP/XWikiLDAPAuthServiceImpl.java (revision 17444) +++ src/main/java/com/xpn/xwiki/user/impl/LDAP/XWikiLDAPAuthServiceImpl.java (working copy) @@ -284,6 +284,7 @@ ldapUtils.setGroupClasses(config.getGroupClasses(context)); ldapUtils.setGroupMemberFields(config.getGroupMemberFields(context)); ldapUtils.setBaseDN(config.getLDAPParam("ldap_base_DN", "", context)); + ldapUtils.setUserSearchFormatString(config.getLDAPParam("ldap_user_search_fmt", "({0}={1})", context)); // //////////////////////////////////////////////////////////////////// // 1. check if ldap authentication is off => authenticate against db