2015-10-07 50 views
2

我有一個簡單的表單登錄的Spring啓動應用程序。登錄工作正常。Spring Boot - 更改登錄頁面的語言環境

http 
    .authorizeRequests() 
     .anyRequest().authenticated() 
     .and() 
    .formLogin() 
     .loginPage("/login") 
     .permitAll() 
     .and() 
    .logout() 
     .logoutRequestMatcher(new AntPathRequestMatcher("/logout")) 
     .logoutSuccessUrl("/login") 
     .permitAll(); 

我也通過CookieLocaleResolver和LocaleChangeInterceptor國際化。登錄時,這也適用

我的問題是:當他是在登錄頁上

用戶不能更改區域。

登錄頁面:https://localhost/login

鏈接更改地區:https://localhost/login?locale=en

但用戶再次重定向到https://localhost/login和區域保持不變。

有沒有辦法允許登錄頁面的參數?

感謝您的幫助!

回答

4

有同樣的問題,固定有以下幾點:

http 
.authorizeRequests() 
    .antMatchers("/login/**")//Basically I'm allowing parameters for login so locale can be added and read. 
    .permitAll() 
    .anyRequest() 
    .fullyAuthenticated() 
    .and() 
.formLogin() 
    .loginPage("/login") 
    .permitAll() 
    .and() 
.logout() 
    .logoutRequestMatcher(new AntPathRequestMatcher("/logout")) 
    .logoutSuccessUrl("/login") 
    .permitAll(); 

我認爲這個問題需要做的,當你改變的語言環境,這是送作爲參數,因爲通過conf沒有允許參數withing/login它會刷新並顯示登錄頁面以嘗試驗證您的身份。

+0

感謝您的回答!直到現在我還沒有時間去測試它。有用! –