Author: keith
Date: Thu Jan  3 01:11:08 2008
New Revision: 11805

Log:

Fixing authenticator



Modified:
   
trunk/mashup/java/modules/core/src/org/wso2/mashup/realm/wsas/HybridAuthenticator.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
      Thu Jan  3 01:11:08 2008
@@ -2,21 +2,46 @@
 
 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 {
-      /*  try {
-            GlobalAdmin admin = new GlobalAdmin();
-            return admin.login(userName, (String)credentials);
-            
-        } catch (AxisFault e) {
-            throw new UserManagerException(e.getMessage());
-        }*/
-        return true;
-    }
-    
-    
 
-}
+        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;
+    }
+}
\ No newline at end of file

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

Reply via email to