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,集成方便,提供了权限注解