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: