您的位置:首页 > 娱乐 > 八卦 > 急招程序员_上海做什么赚钱快_怎么在百度上推广自己_宁德seo培训

急招程序员_上海做什么赚钱快_怎么在百度上推广自己_宁德seo培训

2025/4/7 18:54:07 来源:https://blog.csdn.net/Mr_Zerone/article/details/146687634  浏览:    关键词:急招程序员_上海做什么赚钱快_怎么在百度上推广自己_宁德seo培训
急招程序员_上海做什么赚钱快_怎么在百度上推广自己_宁德seo培训

文末有本篇文章的项目源码文件可供下载学习

我们知道JwtAuthenticateFilter会将用户信息封装到Authentication对象中,因为请求logout时我们需要携带相应的token,所以我们可以通过认证流程,到达Controller层,进行相关业务的调用.

对于退出登录的业务,因为我们没有使用redis缓存,我们可以在数据库中给用户对象设置一个状态位current_flag,当我们退出的时候存储为logout,当我们登录的时候存储为login,这样就可以起到该用户是否已经登录或者退出了.

0.配置思路

  1. 在本案例的基础上,添加相应代码与配置.
  2. 在SecurityController.java中新增loggou方法.
  3. 在SecurityServiceImpl.java中新增logout方法.
  4. 完成相关测试

1.编辑SecurityController.java

    @GetMapping("logout")public CustomerResult logout() {return securityService.logout();}

2.编辑SecurityServiceImpl.java

    @Overridepublic CustomerResult logout() {
//        1.获取SecurityContextHolder中的当前用户Authentication authentication = SecurityContextHolder.getContext().getAuthentication();UserDetailsImpl userDetails = (UserDetailsImpl) authentication.getPrincipal();User user = userDetails.getUser();
//        2.设置当前用户的状态user.setCurrentFlag("logout");userMapper.updateCurrentFlagById(user);return new CustomerResult().code("200").msg("注销成功");}

3.相关测试

3.1未登录访问customer/firstMethod

我们发现是拒绝访问的.

3.2登录之后访问customer/firstMethod 

登录成功,复制token,访问customer/firstMethod

成功访问.

3.3退出登录之后访问customer/firstMethod

访问logout

再次访问customer/firstMethod

 至此,我们配置的退出登录是成功的.

本篇文章的项目源码文件,可供点击下载学习

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com