From adba68fb87f31b574f7208f09d4a81eacca19286 Mon Sep 17 00:00:00 2001 From: Dave Ward Date: Wed, 18 Mar 2009 17:50:15 +0000 Subject: [PATCH] Temporary build fix. Lazy initialisation of authentication filter login page (because config service not bootstrapped at the time of authentication subsystem bootstrap). Will return with better fix. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13677 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../web/app/servlet/AuthenticationFilter.java | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/source/java/org/alfresco/web/app/servlet/AuthenticationFilter.java b/source/java/org/alfresco/web/app/servlet/AuthenticationFilter.java index c4654dbd62..4c6de56365 100644 --- a/source/java/org/alfresco/web/app/servlet/AuthenticationFilter.java +++ b/source/java/org/alfresco/web/app/servlet/AuthenticationFilter.java @@ -54,6 +54,7 @@ public class AuthenticationFilter implements DependencyInjectedFilter { private String loginPage; + private ConfigService configService; /** * @param configService @@ -61,13 +62,22 @@ public class AuthenticationFilter implements DependencyInjectedFilter */ public void setConfigService(ConfigService configService) { - ClientConfigElement clientConfig = (ClientConfigElement) configService.getGlobalConfig().getConfigElement( - ClientConfigElement.CONFIG_ELEMENT_ID); - - if (clientConfig != null) + this.configService = configService; + } + + public synchronized String getLoginPage() + { + if (this.loginPage == null) { - loginPage = clientConfig.getLoginPage(); + ClientConfigElement clientConfig = (ClientConfigElement) this.configService.getGlobalConfig() + .getConfigElement(ClientConfigElement.CONFIG_ELEMENT_ID); + + if (clientConfig != null) + { + this.loginPage = clientConfig.getLoginPage(); + } } + return this.loginPage; } public void doFilter(ServletContext context, ServletRequest req, ServletResponse res, FilterChain chain) @@ -77,7 +87,7 @@ public class AuthenticationFilter implements DependencyInjectedFilter HttpServletResponse httpRes = (HttpServletResponse) res; // allow the login page to proceed - if (!httpReq.getRequestURI().endsWith(this.loginPage)) + if (!httpReq.getRequestURI().endsWith(getLoginPage())) { AuthenticationStatus status = AuthenticationHelper.authenticate(context, httpReq, httpRes, false);