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