开发者论坛

 找回密码
 注册 (请使用非IE浏览器)
查看: 3841|回复: 1

[源码] spring+springmvc+Interceptor+jwt+redis实现sso单点登录

[复制链接]

0

精华

0

贡献

10

赞扬

帖子
36
软币
188
在线时间
4 小时
注册时间
2017-10-25
发表于 2017-10-31 11:08:32 | 显示全部楼层 |阅读模式
在分布式环境中,如何支持PC、APP(ios、android)等多端的会话共享,这也是所有公司都需要的解决方案,用传统的session方式来解决,我想已经out了,我们是否可以找一个通用的方案,比如用传统cas来实现多系统之间的sso单点登录或使用oauth的第三方登录方案? 今天给大家简单讲解一下使用spring拦截器Interceptor机制、jwt认证方式、redis分布式缓存实现sso单点登录,闲话少说,直接把步骤记录下来分享给大家:
1. 引入jwt的相关jar包,在项目pom.xml中引入:




2. 拦截器配置:




我这里简单配置了要拦截的url和过滤的url(这个根据自己项目来定)
3. 编写jwt的加密或者解密工具类:




这个加密工具类是我从网上找的,如果各位要修改,可以按照自己业务修改即可。
4. 创建Login.java对象,用来进行jwt的加密或者解密:







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







6. 编写LoginInterceptor.java拦截器







7. 定义异常的LoginResponseCode




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




9. 测试sso单点登录:




返回结果集:




愿意了解框架技术或者源码的朋友直接求求交流分享技术:2042849237
分布式的一些解决方案,有愿意了解的朋友可以找我们团队探讨
更多详细源码参考来源:http://minglisoft.cn/technology
标签:spring,springmvc,Spring MVC,web开发,java分布式架构,shiro,mybatis,kafka,J2ee分布式架构

回复

使用道具 举报

0

精华

0

贡献

10

赞扬

帖子
36
软币
188
在线时间
4 小时
注册时间
2017-10-25
 楼主| 发表于 2017-10-31 11:09:42 | 显示全部楼层
欢迎大家一起交流学习,更多的源码可以直接扣扣我:2042849237获取谢谢
回复

使用道具 举报

Archiver|手机版|小黑屋|开发者网 ( 苏ICP备08004430号-2 )
版权所有:南京韵文教育信息咨询有限公司

GMT+8, 2024-12-23 04:02

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表