Author: keith
Date: Sun Jan  6 22:46:32 2008
New Revision: 11900

Log:

Fixing Hybrid Authenticator to authenticate against WSAS




Modified:
   
trunk/mashup/java/modules/core/src/org/wso2/mashup/realm/wsas/HybridAuthenticator.java
   trunk/mashup/java/modules/core/src/org/wso2/mashup/utils/MashupUtils.java

Modified: 
trunk/mashup/java/modules/core/src/org/wso2/mashup/realm/wsas/HybridAuthenticator.java
==============================================================================
--- 
trunk/mashup/java/modules/core/src/org/wso2/mashup/realm/wsas/HybridAuthenticator.java
      (original)
+++ 
trunk/mashup/java/modules/core/src/org/wso2/mashup/realm/wsas/HybridAuthenticator.java
      Sun Jan  6 22:46:32 2008
@@ -1,47 +1,14 @@
 package org.wso2.mashup.realm.wsas;
 
+import org.wso2.mashup.utils.MashupUtils;
 import org.wso2.usermanager.Authenticator;
 import org.wso2.usermanager.UserManagerException;
-import org.wso2.wsas.persistence.PersistenceManager;
-import org.wso2.wsas.persistence.dataobject.ServiceUserDO;
-import org.wso2.wsas.persistence.dataobject.ServiceUserRoleDO;
-import org.wso2.wsas.ServerConstants;
-import org.wso2.utils.ServerConfiguration;
-import org.wso2.utils.security.CryptoUtil;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.io.File;
 
 public class HybridAuthenticator implements Authenticator{
 
-    private static final Log log = 
LogFactory.getLog(HybridAuthenticator.class);
-
     public boolean authenticate(String userName, Object credentials)
             throws UserManagerException {
 
-        PersistenceManager pm = new PersistenceManager();
-
-        ServiceUserDO user = pm.getUser(userName);
-
-        if (user == null) {
-            return false;
-        }
-
-        try {
-            ServerConfiguration config = ServerConfiguration.getInstance();
-            CryptoUtil cryptoUtil =
-                    new CryptoUtil(new 
File(config.getFirstProperty("Security.KeyStore.Location")).getAbsolutePath(),
-                                   
config.getFirstProperty("Security.KeyStore.Password"),
-                                   
config.getFirstProperty("Security.KeyStore.KeyAlias"),
-                                   
config.getFirstProperty("Security.KeyStore.KeyPassword"),
-                                   
config.getFirstProperty("Security.KeyStore.Type"));
-            return new 
String(cryptoUtil.base64DecodeAndDecrypt(user.getPassword())).
-                    equals(credentials);
-        } catch (Exception e) {
-            log.error("Exception occurred during authentication", e);
-        }
-
-        return false;
+        return MashupUtils.authenticateUser(userName, (String) credentials);
     }
 }
\ No newline at end of file

Modified: 
trunk/mashup/java/modules/core/src/org/wso2/mashup/utils/MashupUtils.java
==============================================================================
--- trunk/mashup/java/modules/core/src/org/wso2/mashup/utils/MashupUtils.java   
(original)
+++ trunk/mashup/java/modules/core/src/org/wso2/mashup/utils/MashupUtils.java   
Sun Jan  6 22:46:32 2008
@@ -26,6 +26,11 @@
 import org.wso2.mashup.MashupFault;
 import org.wso2.wsas.ServerConstants;
 import org.wso2.wsas.ServerManager;
+import org.wso2.wsas.persistence.PersistenceManager;
+import org.wso2.wsas.persistence.dataobject.ServiceUserDO;
+import org.wso2.utils.ServerConfiguration;
+import org.wso2.utils.security.CryptoUtil;
+import org.wso2.usermanager.UserManagerException;
 
 import javax.management.InstanceNotFoundException;
 import javax.management.MBeanException;
@@ -34,6 +39,7 @@
 import javax.management.MalformedObjectNameException;
 import javax.management.ObjectName;
 import javax.management.ReflectionException;
+import java.io.File;
 import java.util.ArrayList;
 import java.util.Hashtable;
 
@@ -214,4 +220,30 @@
         ConfigurationContext configContext = serverManager.configContext;
         return configContext.getAxisConfiguration().getFaultyServices();
     }
+
+    public static boolean authenticateUser(String userName, String password)
+            throws UserManagerException {
+        PersistenceManager pm = new PersistenceManager();
+
+        ServiceUserDO user = pm.getUser(userName);
+
+        if (user == null) {
+            return false;
+        }
+
+        try {
+            ServerConfiguration config = ServerConfiguration.getInstance();
+            CryptoUtil cryptoUtil =
+                    new CryptoUtil(new 
File(config.getFirstProperty("Security.KeyStore.Location")).getAbsolutePath(),
+                                   
config.getFirstProperty("Security.KeyStore.Password"),
+                                   
config.getFirstProperty("Security.KeyStore.KeyAlias"),
+                                   
config.getFirstProperty("Security.KeyStore.KeyPassword"),
+                                   
config.getFirstProperty("Security.KeyStore.Type"));
+            return new 
String(cryptoUtil.base64DecodeAndDecrypt(user.getPassword())).
+                    equals(password);
+        } catch (Exception e) {
+            log.error("Exception occurred during authenticating user " + 
userName, e);
+            throw new UserManagerException("Exception occurred during 
authenticating user " + userName);
+        }
+    }
 }

_______________________________________________
Mashup-dev mailing list
[email protected]
http://www.wso2.org/cgi-bin/mailman/listinfo/mashup-dev

Reply via email to