java - Spring 安全自定义注销处理程序

标签 java spring spring-security

如何在 spring-security 中将自己的注销处理程序添加到 LogoutFilter ? 谢谢!

最佳答案

以下解决方案对我有用,可能会有所帮助:

  1. 扩展SimpleUrlLogoutSuccessHandler或实现 LogoutHandler :

    public class LogoutSuccessHandler extends SimpleUrlLogoutSuccessHandler {
    
       // Just for setting the default target URL
       public LogoutSuccessHandler(String defaultTargetURL) {
            this.setDefaultTargetUrl(defaultTargetURL);
       }
    
       @Override
       public void onLogoutSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException {
    
            // do whatever you want
            super.onLogoutSuccess(request, response, authentication);
       }
    }
    
  2. 添加到您的 Spring 安全配置中:

    <security:logout logout-url="/logout" success-handler-ref="logoutSuccessHandler" />
    <bean id="logoutSuccessHandler" class="your.package.name.LogoutSuccessHandler" >
        <constructor-arg value="/putInYourDefaultTargetURLhere" />
    </bean>
    

关于java - Spring 安全自定义注销处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3112972/

相关文章:

java - spring属性如何转义sql中的特殊字符?

spring-security - 我如何为 spring webflux 应用程序配置 oauth2 资源服务器?

Spring Security 具有不同用户详细信息的多个 HTTPSecurity 服务在 Spring Boot 中不起作用

java - AES javafx 程序在按下加密按钮时显示错误

java - 秒表可抵抗系统时间变化

java - H2数据库存储容量

spring - JpaRepository 上的 @PreAuthorize

java - 使用 javax.xml.transform.Transformer 对 xml 属性进行排序以实现 pretty-print

java - Spring MVC 异常 - 调用请求方法导致异常 : public static native long java. lang.System.currentTimeMillis()

java - Thymeleaf 3.0 模板引擎,从两个位置获取模板