If you use spring protection, perhaps this solution will help you.
Internationalization Configuration:
@Configuration @EnableAutoConfiguration public class InternationalizationConfig extends WebMvcConfigurerAdapter { @Bean public LocaleResolver localeResolver() { SessionLocaleResolver slr = new SessionLocaleResolver(); slr.setDefaultLocale(new Locale("tr"));
Spring Security Configuration:
@Configuration public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http .csrf().disable() .authorizeRequests() .anyRequest().authenticated() .and() .exceptionHandling().accessDeniedPage("/login") .and() .formLogin().loginPage("/index") .usernameParameter("username") .passwordParameter("password") .loginProcessingUrl("/j_spring_security_check") .failureUrl("/loginFail") .defaultSuccessUrl("/loginSuccess") .and() .logout().logoutUrl("/logout").logoutSuccessUrl("/index") ; http.headers().frameOptions().disable(); } }
Controller:
@Controller public class LoginController { @RequestMapping("/loginSuccess") public String loginSuccess(){ User user = getUserFromDatabase; return "redirect:/home?lang="+user.getLanguage(); } }
source share