diff --git a/ym-admin/src/main/java/com/cnbm/admin/config/SecurityConfig.java b/ym-admin/src/main/java/com/cnbm/admin/config/SecurityConfig.java index 00a8a85..f2dd2e8 100644 --- a/ym-admin/src/main/java/com/cnbm/admin/config/SecurityConfig.java +++ b/ym-admin/src/main/java/com/cnbm/admin/config/SecurityConfig.java @@ -1,6 +1,7 @@ package com.cnbm.admin.config; import com.cnbm.admin.filter.JwtAuthenticationTokenFilter; +import com.cnbm.admin.handler.LogoutHandlerImpl; import com.cnbm.admin.handler.LogoutSuccessHandlerImpl; import com.cnbm.admin.service.impl.UserDetailsServiceImpl; import org.springframework.beans.factory.annotation.Autowired; @@ -19,6 +20,8 @@ import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.web.AuthenticationEntryPoint; import org.springframework.security.web.access.AccessDeniedHandler; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; +import org.springframework.security.web.authentication.logout.LogoutFilter; + /** * @Author weihongyang * @Date 2022/6/8 1:51 PM @@ -49,6 +52,9 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter { @Autowired private LogoutSuccessHandlerImpl logoutSuccessHandler; + @Autowired + private LogoutHandlerImpl logoutHandler; + @Override protected void configure(HttpSecurity http) throws Exception { @@ -72,12 +78,13 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter { .authenticated() // 退出登录,默认为/logout,这里修改接口地址为 /doLogout .and().logout().logoutUrl("/doLogout") + .addLogoutHandler(logoutHandler) // 设置退出登录成功处理程序,退出成功后返回JSON字符串 .logoutSuccessHandler(logoutSuccessHandler); //添加过滤器 http.addFilterBefore(jwtAuthenticationTokenFilter, UsernamePasswordAuthenticationFilter.class); - + http.addFilterBefore(jwtAuthenticationTokenFilter, LogoutFilter.class); //配置异常处理器 http.exceptionHandling() //配置认证失败处理器