From 591a686d77b93675fcfa0c7940bddd02a389dffd Mon Sep 17 00:00:00 2001 From: Rohit Yadav Date: Sun, 24 Aug 2014 15:59:10 +0200 Subject: [PATCH] server: fix server package after auth plugin refactor - Have opensaml dependency to get version from root pom - add com.cloud.api.auth.APIAuthenticationManagerImpl to spring ctx manager - Fix getCommands() in APIAuthenticationManagerImpl - Fix imports in resources, test and src classes Signed-off-by: Rohit Yadav --- server/pom.xml | 2 +- .../spring-server-core-managers-context.xml | 5 +++- server/src/com/cloud/api/ApiServlet.java | 7 ++--- .../auth/APIAuthenticationManagerImpl.java | 27 +++++++++++++------ .../auth/DefaultLoginAPIAuthenticatorCmd.java | 4 ++- .../DefaultLogoutAPIAuthenticatorCmd.java | 2 ++ server/test/com/cloud/api/ApiServletTest.java | 6 ++--- 7 files changed, 36 insertions(+), 17 deletions(-) diff --git a/server/pom.xml b/server/pom.xml index 04c25aff904..0e517f7854e 100644 --- a/server/pom.xml +++ b/server/pom.xml @@ -136,7 +136,7 @@ org.opensaml opensaml - 2.6.1 + ${cs.opensaml.version} diff --git a/server/resources/META-INF/cloudstack/core/spring-server-core-managers-context.xml b/server/resources/META-INF/cloudstack/core/spring-server-core-managers-context.xml index 17681f7c4dc..e2d4d2798a4 100644 --- a/server/resources/META-INF/cloudstack/core/spring-server-core-managers-context.xml +++ b/server/resources/META-INF/cloudstack/core/spring-server-core-managers-context.xml @@ -32,7 +32,10 @@ http://www.springframework.org/schema/util/spring-util-3.0.xsd" > - + + + _apiAuthenticators; + private static Map> s_authenticators = null; - private static List> s_commandList = null; public APIAuthenticationManagerImpl() { } + public List getApiAuthenticators() { + return _apiAuthenticators; + } + + public void setApiAuthenticators(List authenticators) { + _apiAuthenticators = authenticators; + } + @Override public boolean start() { s_authenticators = new HashMap>(); @@ -53,14 +65,13 @@ public class APIAuthenticationManagerImpl extends ManagerBase implements APIAuth @Override public List> getCommands() { - if (s_commandList == null) { - s_commandList = new ArrayList>(); - s_commandList.add(DefaultLoginAPIAuthenticatorCmd.class); - s_commandList.add(DefaultLogoutAPIAuthenticatorCmd.class); - s_commandList.add(SAML2LoginAPIAuthenticatorCmd.class); - s_commandList.add(SAML2LogoutAPIAuthenticatorCmd.class); + List> cmdList = new ArrayList>(); + cmdList.add(DefaultLoginAPIAuthenticatorCmd.class); + cmdList.add(DefaultLogoutAPIAuthenticatorCmd.class); + for (PluggableAPIAuthenticator apiAuthenticator: _apiAuthenticators) { + cmdList.addAll(apiAuthenticator.getAuthCommands()); } - return s_commandList; + return cmdList; } @Override diff --git a/server/src/com/cloud/api/auth/DefaultLoginAPIAuthenticatorCmd.java b/server/src/com/cloud/api/auth/DefaultLoginAPIAuthenticatorCmd.java index 243ad9b1697..2fb3f560175 100644 --- a/server/src/com/cloud/api/auth/DefaultLoginAPIAuthenticatorCmd.java +++ b/server/src/com/cloud/api/auth/DefaultLoginAPIAuthenticatorCmd.java @@ -16,7 +16,7 @@ // under the License. package com.cloud.api.auth; -import com.cloud.api.ApiServerService; +import org.apache.cloudstack.api.ApiServerService; import com.cloud.api.response.ApiResponseSerializer; import com.cloud.exception.CloudAuthenticationException; import com.cloud.user.Account; @@ -26,6 +26,8 @@ import org.apache.cloudstack.api.ApiErrorCode; import org.apache.cloudstack.api.BaseCmd; import org.apache.cloudstack.api.Parameter; import org.apache.cloudstack.api.ServerApiException; +import org.apache.cloudstack.api.auth.APIAuthenticationType; +import org.apache.cloudstack.api.auth.APIAuthenticator; import org.apache.cloudstack.api.response.LoginCmdResponse; import org.apache.log4j.Logger; diff --git a/server/src/com/cloud/api/auth/DefaultLogoutAPIAuthenticatorCmd.java b/server/src/com/cloud/api/auth/DefaultLogoutAPIAuthenticatorCmd.java index a5802bfcbc6..999cefd8e3f 100644 --- a/server/src/com/cloud/api/auth/DefaultLogoutAPIAuthenticatorCmd.java +++ b/server/src/com/cloud/api/auth/DefaultLogoutAPIAuthenticatorCmd.java @@ -22,6 +22,8 @@ import org.apache.cloudstack.api.APICommand; import org.apache.cloudstack.api.ApiErrorCode; import org.apache.cloudstack.api.BaseCmd; import org.apache.cloudstack.api.ServerApiException; +import org.apache.cloudstack.api.auth.APIAuthenticationType; +import org.apache.cloudstack.api.auth.APIAuthenticator; import org.apache.cloudstack.api.response.LogoutCmdResponse; import org.apache.log4j.Logger; diff --git a/server/test/com/cloud/api/ApiServletTest.java b/server/test/com/cloud/api/ApiServletTest.java index 0a9029663fa..1a9c13d3e74 100644 --- a/server/test/com/cloud/api/ApiServletTest.java +++ b/server/test/com/cloud/api/ApiServletTest.java @@ -16,9 +16,9 @@ // under the License. package com.cloud.api; -import com.cloud.api.auth.APIAuthenticationManager; -import com.cloud.api.auth.APIAuthenticationType; -import com.cloud.api.auth.APIAuthenticator; +import org.apache.cloudstack.api.auth.APIAuthenticationManager; +import org.apache.cloudstack.api.auth.APIAuthenticationType; +import org.apache.cloudstack.api.auth.APIAuthenticator; import com.cloud.server.ManagementServer; import com.cloud.user.Account; import com.cloud.user.AccountService;