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

park

2017-11-01 发表于 2017-11-01 15:28 springmvc

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

  1. 引入jwt的相关jar包,在项目pom.xml中引入:
  1. 拦截器配置:

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

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

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

  1. 创建Login.java对象,用来进行jwt的加密或者解密:
  1. 定义RedisLogin对象,用来通过uid往redis进行user对象存储:
  1. 编写LoginInterceptor.java拦截器
  1. 定义异常的LoginResponseCode
  1. 编写统一sso单点登录接口:
  1. 测试sso单点登录:

返回结果集:

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

分布式的一些解决方案,有愿意了解的朋友可以找我们团队探讨

更多详细源码参考来源:http://minglisoft.cn/technology

标签:spring,springmvc,Spring MVC,web开发,java分布式架构,shiro,mybatis,kafka,J2ee分布式架构

读者评论

相关专题

相关博文

  • (一)spring cloud分布式云服务架构

    Omaye 2017-11-28

    Spring Cloud是一系列框架的有序集合。利用Spring Boot的开发模式简化了分布式系统基础设施的开发,如服务发现、注册、配置中心、消息总线、负载均衡、断路器、数据监控等(这里只简单的列了一部分),都可以用Spring Bo...

    Omaye 2017-11-28
    572 4 4 4
  • (二)Spring Cloud架构的代码结构

    (二)Spring Cloud架构的代码结构

    Omaye 2017-11-28

    本篇我们根据架构图进行代码的构建。根据微服务化设计思想,结合spring cloud本身的服务发现、治理、配置化管理、分布式等项目优秀解决方案,我们使用Maven技术将框架进行模块化、服务化、原子化封装,也为后期的热插拔、持续集成做一些...

    Omaye 2017-11-28
    1070 1 4 4
  • (三)spring cloud云服务架构代码结构详细讲解

    Omaye 2017-11-28

    上一篇我们介绍了spring cloud云服务架构 - particle云架构代码结构,简单的按照几个大的部分去构建代码模块,让我们来回顾一下: 第一部分: 针对于普通服务的基础框架封装(entity、dao、service、co...

    Omaye 2017-11-28
    1386 1 4 4