使用项目配置WebSecurityConfigurerAdapter时,将自动应用注销功能。 默认情况下,访问URL /logout时,用户:将通过以下方式注销
验证http会话清除RememberMe凭据清除SecurityContextHolder是否重定向到/login? logout自定义配置
protectedvoidconfigure (httpsecurityhttp ) throws exception (http.logout ) logout-logout.logouturl(/my/logout '.logoutsuccesshandler (logoutsuccesshandler ).invalidate http session (true ) /默认值为true.addlogouthandler (loucce )
2、deletecookies ()“name”)是显式添加CookieClearingLogoutHandler的快捷方式。
与addlogouthandler (newcookieclearinglogouthandler ) (“name”)具有相同的效果
LogoutHandler通常,LogoutHandler实现显示可以参与注销处理的类,并请求必要的清理工作。 因此,不应该抛出异常。 常规实现类:
prsistenttokenbasedremermeservicestokenbasedrembasedrembervicescookieclearinglogouthandlercsrflogouthandlersecuritycontextll ogouthall rpublicinterfacelogoutsuccesshandler { voidonlogoutsuccess (httpservletrequestvar 1,httpservlest authentic var3) throws is } LogoutFilter成功注销后,调用LogoutSuccessHandler处理重定向和到相应目标的转发等。 请注意,此接口与LogoutHandler大致相同,但可能会导致异常。
实现类:
simpleurllogoutsuccesshandlerhttpstatusreturninglogoutsuccesshandlerhttpstatusreturninglogoutsuccesshandler是REST API类型的场景使用此LogoutSuccessHandler可以指定正常注销时返回的HTTP状态代码,而不是重定向到URL。 如果未设置,则默认返回状态代码200。