You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ca...@apache.org on 2006/09/13 02:21:38 UTC

svn commit: r442767 - /maven/shared/trunk/maven-user/maven-user-acegi/src/main/java/org/apache/maven/user/acegi/AcegiPasswordEncoder.java

Author: carlos
Date: Tue Sep 12 17:21:37 2006
New Revision: 442767

URL: http://svn.apache.org/viewvc?view=rev&rev=442767
Log:
Work around lack of support of constructor injection in plexus

Modified:
    maven/shared/trunk/maven-user/maven-user-acegi/src/main/java/org/apache/maven/user/acegi/AcegiPasswordEncoder.java

Modified: maven/shared/trunk/maven-user/maven-user-acegi/src/main/java/org/apache/maven/user/acegi/AcegiPasswordEncoder.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-user/maven-user-acegi/src/main/java/org/apache/maven/user/acegi/AcegiPasswordEncoder.java?view=diff&rev=442767&r1=442766&r2=442767
==============================================================================
--- maven/shared/trunk/maven-user/maven-user-acegi/src/main/java/org/apache/maven/user/acegi/AcegiPasswordEncoder.java (original)
+++ maven/shared/trunk/maven-user/maven-user-acegi/src/main/java/org/apache/maven/user/acegi/AcegiPasswordEncoder.java Tue Sep 12 17:21:37 2006
@@ -16,11 +16,12 @@
  * limitations under the License.
  */
 
+import org.acegisecurity.providers.encoding.MessageDigestPasswordEncoder;
 import org.apache.maven.user.model.PasswordEncoder;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
 
 /**
- * Bridge between Maven User {@link PasswordEncoder} and Acegi
- * {@link org.acegisecurity.providers.encoding.PasswordEncoder}
+ * Bridge between Maven User {@link PasswordEncoder} and Acegi {@link MessageDigestPasswordEncoder}
  * 
  * @plexus.component role="org.apache.maven.user.model.PasswordEncoder" role-hint="acegi"
  * 
@@ -28,20 +29,21 @@
  * @version $Id$
  */
 public class AcegiPasswordEncoder
-    implements PasswordEncoder
+    implements PasswordEncoder, org.acegisecurity.providers.encoding.PasswordEncoder
 {
     private Object systemSalt;
 
     private org.acegisecurity.providers.encoding.PasswordEncoder encoder;
 
-    public void setEncoder( org.acegisecurity.providers.encoding.PasswordEncoder encoder )
-    {
-        this.encoder = encoder;
-    }
+    /**
+     * @plexus.configuration default-value="SHA-256"
+     */
+    private String algorithm;
 
-    public org.acegisecurity.providers.encoding.PasswordEncoder getEncoder()
+    public void initialize()
+        throws InitializationException
     {
-        return encoder;
+        encoder = new MessageDigestPasswordEncoder( algorithm );
     }
 
     /**
@@ -57,7 +59,7 @@
      */
     public boolean isPasswordValid( String encPass, String rawPass, Object salt )
     {
-        return isPasswordValid( encPass, rawPass, salt );
+        return encoder.isPasswordValid( encPass, rawPass, salt );
     }
 
     public String encodePassword( String rawPass )