[英]Spring Security - Retaining URL parameters on redirect to login
[英]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.