簡體   English   中英

Spring Security登錄頁面URL參數

[英]Spring Security login page url parameters

我正在嘗試對我的應用程序進行本地化,該應用程序很容易通過Spring本地化和url參數實現,除了登錄頁面(登錄頁面中Spring Security剝離了必填的“ lang”參數,並且該頁面默認為英語)之外,該應用程序在每個頁面上都可以正常運行。 我嘗試通過LoginUrlAuthenticationEntryPoint實現自定義登錄過濾器,像這樣覆蓋了defineUrlToUseForThisRequest:

 @Override
protected String determineUrlToUseForThisRequest(HttpServletRequest request, HttpServletResponse response,
    AuthenticationException exception) {
String url = super.determineUrlToUseForThisRequest(request, response, exception);
return url + "?" + request.getQueryString();
}

但是,這以永久重定向循環結束。 請注意,我的spring security config類在理論上確實允許登錄頁面上的請求參數:

http
.and().formLogin().loginPage("/user").permitAll()

但是我想實現“ / user?lang = en”,它在當前狀態下會重定向到“ / user”,因此“ lang”參數將被忽略。

在此先感謝您提供任何提示。

我設法通過簡單地刪除登錄頁面上的所有限制來找到解決方案,如下所示:

.authorizeRequests().antMatchers("/user").permitAll()

這樣就不需要自定義LoginUrlAuthenticationEntryPoint,並且保留所有url參數!

感謝所有的投入。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM