@ -31,6 +31,7 @@ DigestAuthenticationFilter.usernameNotFound=Username {0} not found
@@ -31,6 +31,7 @@ DigestAuthenticationFilter.usernameNotFound=Username {0} not found
JdbcDaoImpl.noAuthority=User {0} has no GrantedAuthority
@ -141,12 +143,15 @@ public final class ActiveDirectoryLdapAuthenticationProvider extends
@@ -141,12 +143,15 @@ public final class ActiveDirectoryLdapAuthenticationProvider extends
UsernamePasswordAuthenticationTokenauth){
Stringusername=auth.getName();
Stringpassword=(String)auth.getCredentials();
DirContextctx=bindAsUser(username,password);
DirContextctx=null;
try{
ctx=bindAsUser(username,password);
returnsearchForUser(ctx,username);
}
catch(CommunicationExceptione){
throwbadLdapConnection(e);
}
catch(NamingExceptione){
logger.error("Failed to locate directory entry for authenticated user: "
+username,e);
@ -208,8 +213,7 @@ public final class ActiveDirectoryLdapAuthenticationProvider extends
@@ -208,8 +213,7 @@ public final class ActiveDirectoryLdapAuthenticationProvider extends
||(einstanceofOperationNotSupportedException)){
handleBindException(bindPrincipal,e);
throwbadCredentials(e);
}
else{
}else{
throwLdapUtils.convertLdapException(e);
}
}
@ -311,6 +315,12 @@ public final class ActiveDirectoryLdapAuthenticationProvider extends
@@ -311,6 +315,12 @@ public final class ActiveDirectoryLdapAuthenticationProvider extends
@ -325,6 +335,9 @@ public final class ActiveDirectoryLdapAuthenticationProvider extends
@@ -325,6 +335,9 @@ public final class ActiveDirectoryLdapAuthenticationProvider extends
@ -378,17 +382,29 @@ public class ActiveDirectoryLdapAuthenticationProviderTests {
@@ -378,17 +382,29 @@ public class ActiveDirectoryLdapAuthenticationProviderTests {