OPEN - issue SEC-960: DN Encoding in LDAPUserDetailsManager.changePassword() causes bind errors
http://jira.springframework.org/browse/SEC-960. Replaced call to toUrl() with toString() to prevent URL encoding when setting up principal name for reconnect() in changePassword() method.
This commit is contained in:
parent
c45b4e0989
commit
8661e17df9
|
@ -184,7 +184,7 @@ public class LdapUserDetailsManager implements UserDetailsManager {
|
||||||
public Object executeWithContext(DirContext dirCtx) throws NamingException {
|
public Object executeWithContext(DirContext dirCtx) throws NamingException {
|
||||||
LdapContext ctx = (LdapContext) dirCtx;
|
LdapContext ctx = (LdapContext) dirCtx;
|
||||||
ctx.removeFromEnvironment("com.sun.jndi.ldap.connect.pool");
|
ctx.removeFromEnvironment("com.sun.jndi.ldap.connect.pool");
|
||||||
ctx.addToEnvironment(Context.SECURITY_PRINCIPAL, LdapUtils.getFullDn(dn, ctx).toUrl());
|
ctx.addToEnvironment(Context.SECURITY_PRINCIPAL, LdapUtils.getFullDn(dn, ctx).toString());
|
||||||
ctx.addToEnvironment(Context.SECURITY_CREDENTIALS, oldPassword);
|
ctx.addToEnvironment(Context.SECURITY_CREDENTIALS, oldPassword);
|
||||||
// TODO: reconnect doesn't appear to actually change the credentials
|
// TODO: reconnect doesn't appear to actually change the credentials
|
||||||
try {
|
try {
|
||||||
|
|
Loading…
Reference in New Issue