spring+springmvc+Interceptor+jwt+redis实现sso单点登陆

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

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


2. 拦截器配置:ios


我这里简单配置了要拦截的url和过滤的url(这个根据本身项目来定)redis

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


这个加密工具类是我从网上找的,若是各位要修改,能够按照本身业务修改便可。缓存

4. 建立Login.java对象,用来进行jwt的加密或者解密:session



5. 定义RedisLogin对象,用来经过uid往redis进行user对象存储:架构



6. 编写LoginInterceptor.java拦截器框架



7. 定义异常的LoginResponseCode分布式


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


9. 测试sso单点登陆:


返回结果集:


愿意了解框架技术或者源码的朋友直接求求交流分享技术:2042849237

分布式的一些解决方案,有愿意了解的朋友能够找咱们团队探讨

相关文章
相关标签/搜索