- 博客(11)
- 收藏
- 关注
原创 【五一创作】SSO单点登录 防篡改、防重放、防盗用
主要是对单点登录系统中ticket进行防篡改、防重放、防盗用的安全优化,虽然在一般的系统中其实也用不到这较为完善的方案(学校项目会进行安全检测),但也能有效提高开发人员安全意识和技能,本次专栏到此就结束了,欢迎大家补充。
2023-05-03 13:17:53 749
原创 【SSO单点登录08】ticket+token+redis 实现sso单点登录
SSO(Single Sign On),单点登录。简单来说就是在多个应用系统中,只需要登录一次,就可以访问其他相互信任的应用系统。即“一次登录,多处访问”,能够有效的提升用户体验。在这里,我们需要明确一些名词的定义ticketSSO主系统颁发给子系统的凭证,有此凭证且有效的话,表明SSO系统允许子系统去建立局部会话token子系统的访问凭证,每个子系统应各不相同,且能准确分辨出自己所生成的token全局会话&局部会话当SSO主系统登录后,建立起了全局会话,子系统已登录为局部会话。
2023-05-02 12:25:23 432
原创 【SSO单点登录07】JWT续签问题
在服务器端可以校验即将过期的token,比如将token存在于redis中,可以用token的TTL去获取token的过期时间,如果时间比较短,就可以顺便返回一个新的token,这种方式对于前后端都不友好,客户端和服务端都需要去判断逻辑,会带来很大的性能损耗。这种场景比较适用于小程序,可以在用户每次进入小程序时就去返回一个新的token,只要token的有效时间合适,是一个不错的选择方案,但在单点登录的web端,这种方式不太合适,毕竟web端不像小程序端可以直接返回用户的一些用户标识。
2023-04-21 15:09:08 757
原创 【SSO单点登录06】springsession设计结构之妙
Spring Session 是一套严谨的设计方案,为了监听session的创建、过期等事件,引入了定时器和很多辅助的键值对,带来了更多的内存消耗。所以,在用户量很大的情况下,需要多方考虑下相关问题。所以,我们选择JWT代替springsession作为SSO单点登录的认证方案。下期,我们将进一步考虑JWT的相关问题,更好的实现单点登录。
2023-04-18 11:24:11 153
原创 【SSO单点登录05】springsession结合springboot的使用
主要介绍SpringSession在springboot中的应用,以及多端口实现session共享的访问。我们这里采用使用redis存储session数据实现session共享。需要启动两个端口来模拟效果,首先启动一个创建session。进入到jar包打包的位置 ,进入cmd命令行。以下是redis存储的session数据。使用maven工具中的package。
2023-04-17 21:29:08 159
原创 【SSO单点登录04】分布式session-springsession的应用
springsession提供了很好的共享session方案,但通过源码查看,发现每次getSession()都是获取本地session缓存,如何保证redis中的session与本地缓存中的一致性呢?下期我们通过应用springsession来探究。
2023-04-16 16:34:54 108
原创 【SSO单点登录03】使用黑白名单机制解决JWT主动注销和防篡改
本篇基于使用JWT进行用户认证和授权使用问题的改进,使用黑白机制进行token主动注销和防篡改。
2023-04-15 17:09:53 677
原创 【SSO单点登录01】传统会话机制Session&Cookie的弊端
SSO单点登录专栏主要对比浏览器-服务端会话机制,阐述实现思路,结合在项目中应用单点登录引发的总结和思考,后续也会不断更新其他实用的知识点~
2023-04-06 22:56:11 245
原创 实现微信小程序定时发送通知(1)发送请求篇
在实现不同外部接口的调用时,应多去看相对应的使用文档,积极搜索相同需求下不同的实现方法,再搭配上业务需求,实现特定功能。下期将更新基于SchedulingConfigurer实现多定时任务来实现定时的发送下班请求。
2022-09-26 23:27:16 4731 3
原创 java在不使用任何框架的情况下运用反射进行通用的增删改查
反射可以在运行时获取一个类的所有信息(包括成员变量,成员方法,构造器等),并且可以通过反射机制操纵类的字段、方法、构造器等部分。在这种情况下,就需要通过反射在运行期来动态获取对应类的相关信息,这种特性也适用于对类进行各种操作,这里的应用主要是获取类中的成员变量。也可以将数据表与对应的实体类产生一定的映射关系存进map中,到时候再取,依照这种规则,就可以让sql语句完全的不用自己去设置,一整个代码块没有出现手写的sql语句,简洁优化自己的代码,这里的类需要根据自己的分层修改。下面给一个普通的类进行测试。
2022-08-25 17:07:17 733 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人