spring security 默认的退出路径为/logout,当然我们可以自定义这个路径,然后更改配置即可,我们直接看代码。
.logout()
.logoutUrl("/signOut") //页面上退出按钮的路径,如果是/logout可不填
//.logoutSuccessUrl("/login.html") // 跳到页面
.logoutSuccessHandler(logOutHandler) //跳到处理器进行一些操作
.deleteCookies("JESSIONID") // 清除浏览器cookie // 这里清除了一下jessionid
.and()
下面代码是退出的处理器进行一些逻辑处理
/**
* @ClassName: LogOutHandler
* @Description: 退出成功处理器
* @Author: zhbin
* @CreateDate: 2019/8/6 14:49
* @Version: 1.0
*/
@Slf4j
@Component
public class LogOutHandler implements LogoutSuccessHandler {
@Override
public void onLogoutSuccess(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Authentication authentication) throws IOException, ServletException {
log.info("退出成功");
Map<String,Object> map = new HashMap<>();
map.put("msg","退出成功");
httpServletResponse.setContentType("application/json;charset=utf-8");
httpServletResponse.getWriter().write(JSON.toJSONString(map));
}
}
这样就简单完成了退出操作。