单点登录组件的设计与思考

本文介绍了某公司SSO框架的设计与改造历程,从最初的自定义校验方式到采用Shiro,再到弃用Shiro转为自写SSO-ZERO组件。在不断优化中,提升了扩展性和认证效率,实现了权限注解开发。最后引入SID版本,简化了设计。整个过程中,作者对高扩展性、缓存利用、权限控制等方面进行了深入思考。
摘要由CSDN通过智能技术生成

PS:由于该组件极度受限,并不是一个优秀的SSO组件,因此本文不提供相关代码,并会隐藏公司相关信息。

公司x版本的SSO框架

如图,该SSO框架是未用任何市面上流行中间件,自写的一个校验方式。该方案的亮点在于插拔式的认证方式,极大的提升了扩展性,虽然这种扩展方式存在一定的门槛,但不妨碍这是一项优秀的设计。

框架中存在部分未完成代码,比如缓存以及指定登录方式,这部分没写完的不影响现有的功能实现。

该框架依赖于HR服务提供登录校验API,由各个组件提供自组件的登录校验API,轻依赖。

优点:

1.高扩展性

2.轻量,低耦合

缺点:

1.非OA登录时,循环校验带来的时间损耗

2.无缓存,存在缓存模块但未实现

PS:部门2.7.0版本以上提供sourceId认证后不提供后续授权以及鉴权服务

改造后单点登录

基于门户网站的考虑,决定整合登录方式,OA则单独进行校验

第一版于2021年4月28日定下

最初想法是整合所有登录包括OA、渠道、合作伙伴、供应商等等现有组件,因此放弃了以组件方式进行扩展的方案。技术选型的时候,使用了流行的轻型权限框架shiro,用shiro的目的是两点管理用户登录信息,权限注解开发。优点是登录有缓存,校验起来更快,shiro提供了大部分实用的API,集成方便,提供了权限注解࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值