Java架构-spring+springmvc+Interceptor+jwt+redis实现sso单点登录

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Coco_Wditm/article/details/84198066

在分布式环境中,如何支持PC、APP(ios、android)等多端的会话共享,这也是所有公司都需要的解决方案,用传统的session方式来解决,我想已经out了,我们是否可以找一个通用的方案,比如用传统cas来实现多系统之间的sso单点登录或使用oauth的第三方登录方案? 今天给大家简单讲解一下使用spring拦截器Interceptor机制、jwt认证方式、redis分布式缓存实现sso单点登录,闲话少说,直接把步骤记录下来分享给大家:

  1. 引入jwt的相关jar包,在项目pom.xml中引入:

Java代码

  1. 拦截器配置:

Java代码

  1. 编写jwt的加密或者解密工具类:

Java代码


这个加密工具类是我从网上找的,如果各位要修改,可以按照自己业务修改即可。

  1. 创建Login.java对象,用来进行jwt的加密或者解密:

Java代码

  1. 定义RedisLogin对象,用来通过uid往redis进行user对象存储:

Java代码


6. 编写LoginInterceptor.java拦截器

Java代码


7. 定义异常的LoginResponseCode

Java代码


8. 编写统一sso单点登录接口:

Java代码


9. 测试sso单点登录:

返回结果集:

Java代码


到此完毕!!

我这边会将近期研发的spring cloud微服务云架构的搭建过程和精髓记录下来,帮助更多有兴趣研发spring cloud框架的朋友,大家来一起探讨spring cloud架构的搭建过程及如何运用于企业项目。

我本人邀约各大BATJ架构大牛共创Spring Cloud构建微服务架构的交流社区。 (群号:573988200)欢迎各路架构师、开发者,学习与交流使用Spring Cloud诸多强大组件的实战经验。

为什么某些人会一直比你优秀,是因为他本身就很优秀还一直在持续努力变得更优秀,而你是不是还在满足于现状内心在窃喜!
合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

希望此文能帮到大家的同时,也听听大家的观点。欢迎留言讨论,加关注,分享你的高见!持续更新!

To-陌霖Java架构

分享互联网最新文章 关注互联网最新发展

猜你喜欢

转载自blog.csdn.net/Coco_Wditm/article/details/84198066
今日推荐