diff --git a/plugins/user-authenticators/ldap/src/org/apache/cloudstack/ldap/LdapAuthenticator.java b/plugins/user-authenticators/ldap/src/org/apache/cloudstack/ldap/LdapAuthenticator.java index 559a9794b2d..e62a3d8f1dc 100644 --- a/plugins/user-authenticators/ldap/src/org/apache/cloudstack/ldap/LdapAuthenticator.java +++ b/plugins/user-authenticators/ldap/src/org/apache/cloudstack/ldap/LdapAuthenticator.java @@ -19,6 +19,7 @@ package org.apache.cloudstack.ldap; import java.util.Map; import javax.inject.Inject; +import javax.naming.ConfigurationException; import org.apache.log4j.Logger; @@ -46,6 +47,15 @@ public class LdapAuthenticator extends DefaultUserAuthenticator { _userAccountDao = userAccountDao; } + @Override + public boolean configure(String name, Map params) throws ConfigurationException { + if (name == null) { + name = "LDAP"; + } + super.configure(name, params); + return true; + } + @Override public boolean authenticate(final String username, final String password, final Long domainId, final Map requestParameters) { diff --git a/plugins/user-authenticators/md5/src/com/cloud/server/auth/MD5UserAuthenticator.java b/plugins/user-authenticators/md5/src/com/cloud/server/auth/MD5UserAuthenticator.java index 63583af4ad6..e5b169fc456 100644 --- a/plugins/user-authenticators/md5/src/com/cloud/server/auth/MD5UserAuthenticator.java +++ b/plugins/user-authenticators/md5/src/com/cloud/server/auth/MD5UserAuthenticator.java @@ -22,11 +22,12 @@ import java.util.Map; import javax.ejb.Local; import javax.inject.Inject; +import javax.naming.ConfigurationException; import org.apache.log4j.Logger; - import com.cloud.user.UserAccount; import com.cloud.user.dao.UserAccountDao; + import com.cloud.utils.exception.CloudRuntimeException; /** @@ -58,6 +59,17 @@ public class MD5UserAuthenticator extends DefaultUserAuthenticator { return true; } + @Override + public boolean configure(String name, Map params) + throws ConfigurationException { + if(name == null) { + name = "MD5"; + } + super.configure(name, params); + return true; + } + + @Override public String encode(String password) { MessageDigest md5 = null; try { diff --git a/plugins/user-authenticators/plain-text/src/com/cloud/server/auth/PlainTextUserAuthenticator.java b/plugins/user-authenticators/plain-text/src/com/cloud/server/auth/PlainTextUserAuthenticator.java index 849e82e093d..f102275905f 100644 --- a/plugins/user-authenticators/plain-text/src/com/cloud/server/auth/PlainTextUserAuthenticator.java +++ b/plugins/user-authenticators/plain-text/src/com/cloud/server/auth/PlainTextUserAuthenticator.java @@ -15,15 +15,20 @@ package com.cloud.server.auth; +import java.math.BigInteger; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; import java.util.Map; import javax.ejb.Local; import javax.inject.Inject; +import javax.naming.ConfigurationException; import org.apache.log4j.Logger; import com.cloud.user.UserAccount; import com.cloud.user.dao.UserAccountDao; +import com.cloud.utils.exception.CloudRuntimeException; @Local(value={UserAuthenticator.class}) @@ -51,6 +56,16 @@ public class PlainTextUserAuthenticator extends DefaultUserAuthenticator { return true; } + @Override + public boolean configure(String name, Map params) + throws ConfigurationException { + if (name == null) { + name = "PLAINTEXT"; + } + super.configure(name, params); + return true; + } + @Override public String encode(String password) { // Plaintext so no encoding at all diff --git a/plugins/user-authenticators/sha256salted/src/com/cloud/server/auth/SHA256SaltedUserAuthenticator.java b/plugins/user-authenticators/sha256salted/src/com/cloud/server/auth/SHA256SaltedUserAuthenticator.java index 3592ddc8169..91be922c9a9 100644 --- a/plugins/user-authenticators/sha256salted/src/com/cloud/server/auth/SHA256SaltedUserAuthenticator.java +++ b/plugins/user-authenticators/sha256salted/src/com/cloud/server/auth/SHA256SaltedUserAuthenticator.java @@ -24,6 +24,7 @@ import java.util.Map; import javax.ejb.Local; import javax.inject.Inject; +import javax.naming.ConfigurationException; import org.apache.log4j.Logger; import org.bouncycastle.util.encoders.Base64; @@ -41,6 +42,16 @@ public class SHA256SaltedUserAuthenticator extends DefaultUserAuthenticator { private UserAccountDao _userAccountDao; private static final int s_saltlen = 32; + @Override + public boolean configure(String name, Map params) + throws ConfigurationException { + if (name == null) { + name = "SHA256SALT"; + } + super.configure(name, params); + return true; + } + /* (non-Javadoc) * @see com.cloud.server.auth.UserAuthenticator#authenticate(java.lang.String, java.lang.String, java.lang.Long, java.util.Map) */ diff --git a/server/src/com/cloud/server/auth/DefaultUserAuthenticator.java b/server/src/com/cloud/server/auth/DefaultUserAuthenticator.java index 253b0ac3ec4..952f724bac9 100644 --- a/server/src/com/cloud/server/auth/DefaultUserAuthenticator.java +++ b/server/src/com/cloud/server/auth/DefaultUserAuthenticator.java @@ -16,7 +16,10 @@ // under the License. package com.cloud.server.auth; +import java.util.Map; + import javax.ejb.Local; +import javax.naming.ConfigurationException; import com.cloud.utils.component.AdapterBase; @@ -26,4 +29,28 @@ import com.cloud.utils.component.AdapterBase; */ @Local(value={UserAuthenticator.class}) public abstract class DefaultUserAuthenticator extends AdapterBase implements UserAuthenticator { + private String _name = null; + + @Override + public boolean configure(String name, Map params) + throws ConfigurationException { + _name = name; + return true; + } + + @Override + public String getName() { + return _name; + } + + @Override + public boolean start() { + return true; + } + + @Override + public boolean stop() { + return true; + } + }