From 1c2648e0a93e57296ab62aedf2d9cdf6ca01e300 Mon Sep 17 00:00:00 2001 From: Rene Zubcevic Date: Wed, 6 Mar 2019 18:58:49 +0100 Subject: [PATCH] disable the fallback to the system locale to fix unit test and establish the desired behaviour --- .../org/owasp/webgoat/MvcConfiguration.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/webgoat-container/src/main/java/org/owasp/webgoat/MvcConfiguration.java b/webgoat-container/src/main/java/org/owasp/webgoat/MvcConfiguration.java index 22f6fa99e..53556ba41 100644 --- a/webgoat-container/src/main/java/org/owasp/webgoat/MvcConfiguration.java +++ b/webgoat-container/src/main/java/org/owasp/webgoat/MvcConfiguration.java @@ -43,9 +43,11 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.io.ResourceLoader; import org.springframework.web.servlet.LocaleResolver; +import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; +import org.springframework.web.servlet.i18n.LocaleChangeInterceptor; import org.springframework.web.servlet.i18n.SessionLocaleResolver; import org.thymeleaf.extras.springsecurity4.dialect.SpringSecurityDialect; import org.thymeleaf.spring4.SpringTemplateEngine; @@ -53,6 +55,7 @@ import org.thymeleaf.spring4.templateresolver.SpringResourceTemplateResolver; import org.thymeleaf.templateresolver.TemplateResolver; import java.io.File; +import java.util.Locale; /** * Configuration for Spring MVC @@ -145,18 +148,32 @@ public class MvcConfiguration extends WebMvcConfigurerAdapter { Messages messages = new Messages(language); messages.setDefaultEncoding("UTF-8"); messages.setBasename("classpath:i18n/messages"); + messages.setFallbackToSystemLocale(false); return messages; } @Bean public LocaleResolver localeResolver() { SessionLocaleResolver slr = new SessionLocaleResolver(); + slr.setDefaultLocale(Locale.ENGLISH); return slr; } + + @Bean + public LocaleChangeInterceptor localeChangeInterceptor() { + LocaleChangeInterceptor lci = new LocaleChangeInterceptor(); + lci.setParamName("lang"); + return lci; + } @Bean public LabelDebugger labelDebugger() { return new LabelDebugger(); } + @Override + public void addInterceptors(InterceptorRegistry registry) { + registry.addInterceptor(localeChangeInterceptor()); + } + } \ No newline at end of file