From 98594b709b8c3f0ff905b082db82623ccb6566f7 Mon Sep 17 00:00:00 2001 From: weingartner Date: Fri, 27 Nov 2015 21:29:50 -0200 Subject: [PATCH] Removal of DefaultUserAuthenticator empty class The DefaultUserAuthenticator is an empty class, extending the AdapterBase and implementing the UserAuthenticator interface. The class is only being used as a marker and it's sole use is to be extended by other UserAuthenticators. Noticing that the class had no purpose, I removed it and made it's children extend from it's superclass and implement it's interface instead. Also, I removed the @Local tags from those classes, since EJB is not used anymore. --- .../cloudstack/ldap/LdapAuthenticator.java | 19 +++++----- .../server/auth/MD5UserAuthenticator.java | 21 ++++++----- .../server/auth/PBKDF2UserAuthenticator.java | 36 ++++++++++--------- .../auth/PlainTextUserAuthenticator.java | 15 ++++---- .../saml/SAML2UserAuthenticator.java | 17 +++++---- .../auth/SHA256SaltedUserAuthenticator.java | 23 ++++++------ .../server/auth/DefaultUserAuthenticator.java | 27 -------------- 7 files changed, 75 insertions(+), 83 deletions(-) delete mode 100644 server/src/com/cloud/server/auth/DefaultUserAuthenticator.java 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 24991c35587..792129247fc 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 @@ -16,21 +16,24 @@ // under the License. package org.apache.cloudstack.ldap; -import com.cloud.server.auth.DefaultUserAuthenticator; +import java.util.Map; +import java.util.UUID; + +import javax.inject.Inject; + +import org.apache.commons.lang.StringUtils; +import org.apache.log4j.Logger; + +import com.cloud.server.auth.UserAuthenticator; import com.cloud.user.Account; import com.cloud.user.AccountManager; import com.cloud.user.User; import com.cloud.user.UserAccount; import com.cloud.user.dao.UserAccountDao; import com.cloud.utils.Pair; -import org.apache.commons.lang.StringUtils; -import org.apache.log4j.Logger; +import com.cloud.utils.component.AdapterBase; -import javax.inject.Inject; -import java.util.Map; -import java.util.UUID; - -public class LdapAuthenticator extends DefaultUserAuthenticator { +public class LdapAuthenticator extends AdapterBase implements UserAuthenticator { private static final Logger s_logger = Logger.getLogger(LdapAuthenticator.class.getName()); @Inject 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 5a06c6856f3..37b441d688a 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 @@ -15,25 +15,28 @@ package com.cloud.server.auth; -import com.cloud.user.UserAccount; -import com.cloud.user.dao.UserAccountDao; -import com.cloud.utils.Pair; -import com.cloud.utils.exception.CloudRuntimeException; -import org.apache.commons.lang.StringUtils; -import org.apache.log4j.Logger; - -import javax.inject.Inject; import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Map; +import javax.inject.Inject; + +import org.apache.commons.lang.StringUtils; +import org.apache.log4j.Logger; + +import com.cloud.user.UserAccount; +import com.cloud.user.dao.UserAccountDao; +import com.cloud.utils.Pair; +import com.cloud.utils.component.AdapterBase; +import com.cloud.utils.exception.CloudRuntimeException; + /** * Simple UserAuthenticator that performs a MD5 hash of the password before * comparing it against the local database. * */ -public class MD5UserAuthenticator extends DefaultUserAuthenticator { +public class MD5UserAuthenticator extends AdapterBase implements UserAuthenticator { public static final Logger s_logger = Logger.getLogger(MD5UserAuthenticator.class); @Inject diff --git a/plugins/user-authenticators/pbkdf2/src/org/apache/cloudstack/server/auth/PBKDF2UserAuthenticator.java b/plugins/user-authenticators/pbkdf2/src/org/apache/cloudstack/server/auth/PBKDF2UserAuthenticator.java index b8c274da62f..fb4dd62ba9d 100644 --- a/plugins/user-authenticators/pbkdf2/src/org/apache/cloudstack/server/auth/PBKDF2UserAuthenticator.java +++ b/plugins/user-authenticators/pbkdf2/src/org/apache/cloudstack/server/auth/PBKDF2UserAuthenticator.java @@ -15,13 +15,16 @@ package org.apache.cloudstack.server.auth; -import com.cloud.server.auth.DefaultUserAuthenticator; -import com.cloud.server.auth.UserAuthenticator; -import com.cloud.user.UserAccount; -import com.cloud.user.dao.UserAccountDao; -import com.cloud.utils.ConstantTimeComparator; -import com.cloud.utils.Pair; -import com.cloud.utils.exception.CloudRuntimeException; +import static java.lang.String.format; + +import java.io.UnsupportedEncodingException; +import java.security.NoSuchAlgorithmException; +import java.security.SecureRandom; +import java.security.spec.InvalidKeySpecException; +import java.util.Map; + +import javax.inject.Inject; + import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.bouncycastle.crypto.PBEParametersGenerator; @@ -29,16 +32,15 @@ import org.bouncycastle.crypto.generators.PKCS5S2ParametersGenerator; import org.bouncycastle.crypto.params.KeyParameter; import org.bouncycastle.util.encoders.Base64; -import javax.inject.Inject; -import java.io.UnsupportedEncodingException; -import java.security.NoSuchAlgorithmException; -import java.security.SecureRandom; -import java.security.spec.InvalidKeySpecException; -import java.util.Map; +import com.cloud.server.auth.UserAuthenticator; +import com.cloud.user.UserAccount; +import com.cloud.user.dao.UserAccountDao; +import com.cloud.utils.ConstantTimeComparator; +import com.cloud.utils.Pair; +import com.cloud.utils.component.AdapterBase; +import com.cloud.utils.exception.CloudRuntimeException; -import static java.lang.String.format; - -public class PBKDF2UserAuthenticator extends DefaultUserAuthenticator { +public class PBKDF2UserAuthenticator extends AdapterBase implements UserAuthenticator { public static final Logger s_logger = Logger.getLogger(PBKDF2UserAuthenticator.class); private static final int s_saltlen = 64; private static final int s_rounds = 100000; @@ -47,6 +49,7 @@ public class PBKDF2UserAuthenticator extends DefaultUserAuthenticator { @Inject private UserAccountDao _userAccountDao; + @Override public Pair authenticate(String username, String password, Long domainId, Map requestParameters) { if (s_logger.isDebugEnabled()) { s_logger.debug("Retrieving user: " + username); @@ -100,6 +103,7 @@ public class PBKDF2UserAuthenticator extends DefaultUserAuthenticator { } } + @Override public String encode(String password) { 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 7907fbdf65f..caddd202ebf 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,16 +15,19 @@ package com.cloud.server.auth; -import com.cloud.user.UserAccount; -import com.cloud.user.dao.UserAccountDao; -import com.cloud.utils.Pair; +import java.util.Map; + +import javax.inject.Inject; + import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; -import javax.inject.Inject; -import java.util.Map; +import com.cloud.user.UserAccount; +import com.cloud.user.dao.UserAccountDao; +import com.cloud.utils.Pair; +import com.cloud.utils.component.AdapterBase; -public class PlainTextUserAuthenticator extends DefaultUserAuthenticator { +public class PlainTextUserAuthenticator extends AdapterBase implements UserAuthenticator { public static final Logger s_logger = Logger.getLogger(PlainTextUserAuthenticator.class); @Inject diff --git a/plugins/user-authenticators/saml2/src/org/apache/cloudstack/saml/SAML2UserAuthenticator.java b/plugins/user-authenticators/saml2/src/org/apache/cloudstack/saml/SAML2UserAuthenticator.java index 4b891cef5f4..a1a8e7a0a73 100644 --- a/plugins/user-authenticators/saml2/src/org/apache/cloudstack/saml/SAML2UserAuthenticator.java +++ b/plugins/user-authenticators/saml2/src/org/apache/cloudstack/saml/SAML2UserAuthenticator.java @@ -14,19 +14,22 @@ // limitations under the License. package org.apache.cloudstack.saml; -import com.cloud.server.auth.DefaultUserAuthenticator; +import java.util.Map; + +import javax.inject.Inject; + +import org.apache.cxf.common.util.StringUtils; +import org.apache.log4j.Logger; + +import com.cloud.server.auth.UserAuthenticator; import com.cloud.user.User; import com.cloud.user.UserAccount; import com.cloud.user.dao.UserAccountDao; import com.cloud.user.dao.UserDao; import com.cloud.utils.Pair; -import org.apache.cxf.common.util.StringUtils; -import org.apache.log4j.Logger; +import com.cloud.utils.component.AdapterBase; -import javax.inject.Inject; -import java.util.Map; - -public class SAML2UserAuthenticator extends DefaultUserAuthenticator { +public class SAML2UserAuthenticator extends AdapterBase implements UserAuthenticator { public static final Logger s_logger = Logger.getLogger(SAML2UserAuthenticator.class); @Inject 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 2014762cf89..27ab8e9b45c 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 @@ -16,22 +16,25 @@ // under the License. package com.cloud.server.auth; -import com.cloud.user.UserAccount; -import com.cloud.user.dao.UserAccountDao; -import com.cloud.utils.Pair; -import com.cloud.utils.exception.CloudRuntimeException; -import org.apache.commons.lang.StringUtils; -import org.apache.log4j.Logger; -import org.bouncycastle.util.encoders.Base64; - -import javax.inject.Inject; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; import java.util.Map; -public class SHA256SaltedUserAuthenticator extends DefaultUserAuthenticator { +import javax.inject.Inject; + +import org.apache.commons.lang.StringUtils; +import org.apache.log4j.Logger; +import org.bouncycastle.util.encoders.Base64; + +import com.cloud.user.UserAccount; +import com.cloud.user.dao.UserAccountDao; +import com.cloud.utils.Pair; +import com.cloud.utils.component.AdapterBase; +import com.cloud.utils.exception.CloudRuntimeException; + +public class SHA256SaltedUserAuthenticator extends AdapterBase implements UserAuthenticator { public static final Logger s_logger = Logger.getLogger(SHA256SaltedUserAuthenticator.class); private static final String s_defaultPassword = "000000000000000000000000000="; private static final String s_defaultSalt = "0000000000000000000000000000000="; diff --git a/server/src/com/cloud/server/auth/DefaultUserAuthenticator.java b/server/src/com/cloud/server/auth/DefaultUserAuthenticator.java deleted file mode 100644 index 36f2db8fb14..00000000000 --- a/server/src/com/cloud/server/auth/DefaultUserAuthenticator.java +++ /dev/null @@ -1,27 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. -package com.cloud.server.auth; - - -import com.cloud.utils.component.AdapterBase; - -/** - * Use this UserAuthenticator if users are already authenticated outside - * - */ -public abstract class DefaultUserAuthenticator extends AdapterBase implements UserAuthenticator { -}