Author: olamy
Date: Tue Dec  4 15:07:13 2012
New Revision: 1416980

URL: http://svn.apache.org/viewvc?rev=1416980&view=rev
Log:
take of having all authenticator exceptions returned

Modified:
    
archiva/redback/redback-core/trunk/redback-authentication/redback-authentication-api/src/main/java/org/apache/archiva/redback/authentication/AuthenticationConstants.java
    
archiva/redback/redback-core/trunk/redback-authentication/redback-authentication-api/src/main/java/org/apache/archiva/redback/authentication/AuthenticationResult.java
    
archiva/redback/redback-core/trunk/redback-authentication/redback-authentication-api/src/main/java/org/apache/archiva/redback/authentication/DefaultAuthenticationManager.java
    
archiva/redback/redback-core/trunk/redback-authentication/redback-authentication-providers/redback-authentication-ldap/src/main/java/org/apache/archiva/redback/authentication/ldap/LdapBindAuthenticator.java

Modified: 
archiva/redback/redback-core/trunk/redback-authentication/redback-authentication-api/src/main/java/org/apache/archiva/redback/authentication/AuthenticationConstants.java
URL: 
http://svn.apache.org/viewvc/archiva/redback/redback-core/trunk/redback-authentication/redback-authentication-api/src/main/java/org/apache/archiva/redback/authentication/AuthenticationConstants.java?rev=1416980&r1=1416979&r2=1416980&view=diff
==============================================================================
--- 
archiva/redback/redback-core/trunk/redback-authentication/redback-authentication-api/src/main/java/org/apache/archiva/redback/authentication/AuthenticationConstants.java
 (original)
+++ 
archiva/redback/redback-core/trunk/redback-authentication/redback-authentication-api/src/main/java/org/apache/archiva/redback/authentication/AuthenticationConstants.java
 Tue Dec  4 15:07:13 2012
@@ -29,4 +29,9 @@ public class AuthenticationConstants
     // for User Manager Authenticator
     public static final String AUTHN_NO_SUCH_USER = "1";
 
+    /**
+     * @since 2.1
+     */
+    public static final String AUTHN_RUNTIME_EXCEPTION = "2";
+
 }

Modified: 
archiva/redback/redback-core/trunk/redback-authentication/redback-authentication-api/src/main/java/org/apache/archiva/redback/authentication/AuthenticationResult.java
URL: 
http://svn.apache.org/viewvc/archiva/redback/redback-core/trunk/redback-authentication/redback-authentication-api/src/main/java/org/apache/archiva/redback/authentication/AuthenticationResult.java?rev=1416980&r1=1416979&r2=1416980&view=diff
==============================================================================
--- 
archiva/redback/redback-core/trunk/redback-authentication/redback-authentication-api/src/main/java/org/apache/archiva/redback/authentication/AuthenticationResult.java
 (original)
+++ 
archiva/redback/redback-core/trunk/redback-authentication/redback-authentication-api/src/main/java/org/apache/archiva/redback/authentication/AuthenticationResult.java
 Tue Dec  4 15:07:13 2012
@@ -22,6 +22,7 @@ package org.apache.archiva.redback.authe
 import org.apache.archiva.redback.users.User;
 
 import java.io.Serializable;
+import java.util.HashMap;
 import java.util.Map;
 
 /**

Modified: 
archiva/redback/redback-core/trunk/redback-authentication/redback-authentication-api/src/main/java/org/apache/archiva/redback/authentication/DefaultAuthenticationManager.java
URL: 
http://svn.apache.org/viewvc/archiva/redback/redback-core/trunk/redback-authentication/redback-authentication-api/src/main/java/org/apache/archiva/redback/authentication/DefaultAuthenticationManager.java?rev=1416980&r1=1416979&r2=1416980&view=diff
==============================================================================
--- 
archiva/redback/redback-core/trunk/redback-authentication/redback-authentication-api/src/main/java/org/apache/archiva/redback/authentication/DefaultAuthenticationManager.java
 (original)
+++ 
archiva/redback/redback-core/trunk/redback-authentication/redback-authentication-api/src/main/java/org/apache/archiva/redback/authentication/DefaultAuthenticationManager.java
 Tue Dec  4 15:07:13 2012
@@ -46,21 +46,21 @@ import java.util.Map;
 public class DefaultAuthenticationManager
     implements AuthenticationManager
 {
-    
+
     private List<Authenticator> authenticators;
 
     @Inject
     private ApplicationContext applicationContext;
-    
+
     @SuppressWarnings("unchecked")
     @PostConstruct
     public void initialize()
     {
-        this.authenticators = new ArrayList<Authenticator>
-       ( applicationContext.getBeansOfType( Authenticator.class ).values() );
+        this.authenticators =
+            new ArrayList<Authenticator>( applicationContext.getBeansOfType( 
Authenticator.class ).values() );
     }
-    
-    
+
+
     public String getId()
     {
         return "Default Authentication Manager - " + this.getClass().getName() 
+ " : managed authenticators - " +
@@ -77,13 +77,13 @@ public class DefaultAuthenticationManage
         }
 
         // put AuthenticationResult exceptions in a map
-        Map<String,String> authnResultExceptionsMap = new 
HashMap<String,String>();
+        Map<String, String> authnResultExceptionsMap = new HashMap<String, 
String>();
         for ( Authenticator authenticator : authenticators )
         {
             if ( authenticator.supportsDataSource( source ) )
             {
                 AuthenticationResult authResult = authenticator.authenticate( 
source );
-                Map<String,String> exceptionsMap = 
authResult.getExceptionsMap();
+                Map<String, String> exceptionsMap = 
authResult.getExceptionsMap();
 
                 if ( authResult.isAuthenticated() )
                 {
@@ -94,6 +94,16 @@ public class DefaultAuthenticationManage
                 {
                     authnResultExceptionsMap.putAll( exceptionsMap );
                 }
+                else
+                {
+                    if ( authResult.getException() != null )
+                    {
+                        authnResultExceptionsMap.put( 
AuthenticationConstants.AUTHN_RUNTIME_EXCEPTION,
+                                                      
authResult.getException().getMessage() );
+                    }
+                }
+
+
             }
         }
 

Modified: 
archiva/redback/redback-core/trunk/redback-authentication/redback-authentication-providers/redback-authentication-ldap/src/main/java/org/apache/archiva/redback/authentication/ldap/LdapBindAuthenticator.java
URL: 
http://svn.apache.org/viewvc/archiva/redback/redback-core/trunk/redback-authentication/redback-authentication-providers/redback-authentication-ldap/src/main/java/org/apache/archiva/redback/authentication/ldap/LdapBindAuthenticator.java?rev=1416980&r1=1416979&r2=1416980&view=diff
==============================================================================
--- 
archiva/redback/redback-core/trunk/redback-authentication/redback-authentication-providers/redback-authentication-ldap/src/main/java/org/apache/archiva/redback/authentication/ldap/LdapBindAuthenticator.java
 (original)
+++ 
archiva/redback/redback-core/trunk/redback-authentication/redback-authentication-providers/redback-authentication-ldap/src/main/java/org/apache/archiva/redback/authentication/ldap/LdapBindAuthenticator.java
 Tue Dec  4 15:07:13 2012
@@ -19,6 +19,7 @@ package org.apache.archiva.redback.authe
  * under the License.
  */
 
+import org.apache.archiva.redback.authentication.AuthenticationConstants;
 import org.apache.archiva.redback.common.ldap.UserMapper;
 import org.apache.archiva.redback.common.ldap.connection.LdapConnectionFactory;
 import org.apache.archiva.redback.configuration.UserConfiguration;
@@ -42,6 +43,8 @@ import javax.naming.NamingException;
 import javax.naming.directory.DirContext;
 import javax.naming.directory.SearchControls;
 import javax.naming.directory.SearchResult;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * LdapBindAuthenticator:


Reply via email to