當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
Spring Security——SessionManagement中InvalidSessionStrategy自定义——简单跳过Fitter过滤刷新Session
生活随笔
收集整理的這篇文章主要介紹了
Spring Security——SessionManagement中InvalidSessionStrategy自定义——简单跳过Fitter过滤刷新Session
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
需求分析
?
解決方案
創建一個新的Session,并且重定向到原請求地址。
/*** @author ShenTuZhiGang* @version 1.0.0* @date 2021-02-16 21:48*/ @Slf4j @Component public class CustomSimpleIgnoreInvalidSessionStrategy implements InvalidSessionStrategy {private boolean createNewSession = true;@Overridepublic void onInvalidSessionDetected(HttpServletRequest request,HttpServletResponse response) throws IOException, ServletException {log.debug("Starting new session (if required), but do not nothing.");if (createNewSession) {request.getSession();}RequestDispatcher requestDispatcher = request.getRequestDispatcher(request.getServletPath());requestDispatcher.forward(request, response);}public void setCreateNewSession(boolean createNewSession) {this.createNewSession = createNewSession;} }應用
@Configuration public class LoginConfig extends WebSecurityConfigurerAdapter {@AutowiredCustomSimpleIgnoreInvalidSessionStrategy customSimpleIgnoreInvalidSessionStrategy;@Overrideprotected void configure(HttpSecurity http) throws Exception {http.authorizeRequests()// 設置不需要授權的請求.antMatchers("/js/*", "/login.html").permitAll()// 其它任何請求都需要驗證權限.anyRequest().authenticated()// 設置自定義表單登錄頁面.and().formLogin().loginPage("/login.html")// 設置登錄驗證請求地址為自定義登錄頁配置action ("/login/form").loginProcessingUrl("/login/form")// 設置默認登錄成功跳轉頁面.defaultSuccessUrl("/main.html")/* session 管理 */.and().sessionManagement()// 設置Session失效跳轉頁面.invalidSessionUrl("/login.html")// 設置最大Session數為1.maximumSessions(1)// 設置Session過期處理策略.expiredSessionStrategy(customSimpleIgnoreInvalidSessionStrategy).and()// 暫時停用csrf,否則會影響驗證.and().csrf().disable();}}?
參考文章
Spring Security 之Session管理配置
總結
以上是生活随笔為你收集整理的Spring Security——SessionManagement中InvalidSessionStrategy自定义——简单跳过Fitter过滤刷新Session的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring Session——@Ena
- 下一篇: SQL——一种简单的基于角色控制的权限管