Author: tmortagne
Date: 2008-02-21 17:23:21 +0100 (Thu, 21 Feb 2008)
New Revision: 7905
Modified:
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/ldap/XWikiLDAPConfig.java
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/ldap/XWikiLDAPConnection.java
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/user/impl/LDAP/XWikiLDAPAuthServiceImpl.java
Log:
XWIKI-2139: Can't log in LDAP with user id containing space
XWIKI-2140: bind_DN and bind_pass are not correctly converted using
MessageFormat
Also added integration tests for theses issues.
Modified:
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/ldap/XWikiLDAPConfig.java
===================================================================
---
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/ldap/XWikiLDAPConfig.java
2008-02-21 16:23:17 UTC (rev 7904)
+++
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/ldap/XWikiLDAPConfig.java
2008-02-21 16:23:21 UTC (rev 7905)
@@ -224,7 +224,9 @@
userMappings.put(ldapattr, xwikiattr);
- attrListToFill.add(ldapattr);
+ if (attrListToFill != null) {
+ attrListToFill.add(ldapattr);
+ }
} else {
LOG.error("Error parsing ldap_fields_mapping attribute in
xwiki.cfg: "
+ fields[j]);
Modified:
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/ldap/XWikiLDAPConnection.java
===================================================================
---
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/ldap/XWikiLDAPConnection.java
2008-02-21 16:23:17 UTC (rev 7904)
+++
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/ldap/XWikiLDAPConnection.java
2008-02-21 16:23:21 UTC (rev 7905)
@@ -21,6 +21,7 @@
package com.xpn.xwiki.plugin.ldap;
+import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.Iterator;
@@ -84,14 +85,14 @@
// open LDAP
int ldapPort = config.getLDAPPort(context);
String ldapHost = config.getLDAPParam("ldap_server", "localhost",
context);
- String bindDNFormat = config.getLDAPParam("ldap_bind_DN", "", context);
+ String bindDNFormat = config.getLDAPParam("ldap_bind_DN", "{0}",
context);
String bindPasswordFormat = config.getLDAPParam("ldap_bind_pass",
"{1}", context);
Object[] arguments = {ldapUserName, password};
// allow to use the given user and password also as the LDAP bind user
and password
- String bindDN = String.format(bindDNFormat, arguments);
- String bindPassword = String.format(bindPasswordFormat, arguments);
+ String bindDN = MessageFormat.format(bindDNFormat, arguments);
+ String bindPassword = MessageFormat.format(bindPasswordFormat,
arguments);
boolean bind;
if ("1".equals(config.getLDAPParam("ldap_ssl", "0", context))) {
Modified:
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/user/impl/LDAP/XWikiLDAPAuthServiceImpl.java
===================================================================
---
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/user/impl/LDAP/XWikiLDAPAuthServiceImpl.java
2008-02-21 16:23:17 UTC (rev 7904)
+++
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/user/impl/LDAP/XWikiLDAPAuthServiceImpl.java
2008-02-21 16:23:21 UTC (rev 7905)
@@ -103,11 +103,12 @@
return null;
}
- String userName = login.replaceAll(" ", "");
if ((password == null) || (password.trim().length() == 0)) {
return null;
}
+ String userName = login;
+
// strip possible "XWiki."
// ATTENTION: Possible incompatibility to before now user is NEVER
located with
// "XWiki.username" in LDAP
_______________________________________________
notifications mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/notifications