尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

开篇词-企业级CAS单点登录实战

开篇词-企业级CAS单点登录实战 当时公司的系统越来越多。管理后台一套登录项目管理工具Jira一套登录Confluence Wiki又一套登录。新员工入职要创建三次账号。员工忘密码IT经常帮忙重置。员工离职又要一个系统一个系统禁用账号。更麻烦的是有时候认证中心退出了另外两个系统居然还能继续访问。后来我们就开始做一套统一认证。我曾经落地过一套企业级单点登录SSO把内部管理后台、Jira、知识库这三个系统都接到同一个认证中心。后来这套方案也一直作为公司的统一认证方案在用。本专栏会按我们当时做项目的顺序从需求、架构一直讲到代码一共九篇。为什么要做SSO左边是改造之前每个系统各认各的密码。右边是接入SSO之后登录都统一交给认证中心员工登录一次三个系统都能进。一说SSO大家第一反应往往是「登录一次到处都能登录」。往下做你会发现远远不只是登录一次这么简单。还有下面几件事要解决统一身份一个人、一个主账号各系统认的是同一张用户主数据。统一登录入口未登录时跳到认证中心而不是每个系统各画一张登录页。统一登出在认证中心退一次关联系统会话一起失效。可扩展接入新系统接入有章可循而不是每次临时摸索。我为什么写这个专栏网上写SSO的文章不少常见的是把CAS协议和几个接口讲清楚。可到了落项目的时候你会发现问题根本不是登录而是第三方系统怎么接新系统怎么注册网关放哪里登录和登出怎么统一OAuth2和CAS到底怎么配合所以这套专栏我就按我们当时项目落地的顺序一步一步写。里面会涉及管理后台、协作平台、知识库这三类最常见的接入场景不是Demo也不是Hello World。本专栏解决什么问题企业里最常见的就是下面三类系统细节放在第02篇PRD类型专栏中的叫法一句话说明自研后台内部管理后台前后端分离走一条登录路线外部协作协作平台AJira成熟Web产品走另一条路线外部文档知识库Confluence同上产品不同接法类似学完CAS以后一到项目里下面这几个问题就会冒出来什么时候用OAuth2什么时候用CAS自研前后端分离后台和第三方Web产品接入方式不一样不能硬套同一种协议。业务系统拿到的凭证长什么样自研后台拿的是网关换取的业务JWT第三方系统拿的是CAS一次性票据向认证中心校验通过后在本地建立Session。为什么要有网关管理后台的API流量需要统一鉴权登录入口也适合收敛在网关这部分第06篇展开。单点登出怎么才算真登出认证中心退一次自研后台的旧令牌和第三方系统的本地会话都要失效第08篇专门讲。这些东西现在不用急着记我们后面再慢慢展开。这张图不用记细节。浏览器请求从网关进来登录交给认证中心后面还有用户主数据管理后台和第三方系统都接在这套体系里。具体模块为什么这么设计第03篇会讲清楚。专栏目录我没有按知识点去拆而是按当时项目推进的顺序来写。先定需求再定架构再把认证中心搭起来然后一个系统一个系统接进去最后把单点登出补完整。开篇词本篇需求PRD应用清单、场景对比、验收边界技术架构设计方案整体架构准绳CAS认证中心多方式登录与JDBC认证服务注册与环境隔离OAuth2与网关前后端分离单点登录CAS协议第三方应用接入实战单点登出与全局会话失效专栏总结与新应用接入指南系统大概长什么样一提SSO大家第一个想到的就是CAS。CAS只是其中一个模块。还有网关、用户主数据、业务令牌、管理后台。现在不用关心实现先知道整个系统有哪些模块模块干什么认证中心统一登录页、发票据、登记接入应用、编排单点登出网关管理后台的登录入口和API流量入口用户主数据存查员工账号登录时把邮箱、工号、扫码结果解析成同一个人管理端用户服务给管理后台签发业务令牌接收认证中心的登出通知四个模块为什么这么设计、各自负责什么第03篇架构设计会讲清楚。技术栈整套方案基于JAVA 17Apereo CAS、Spring Cloud Gateway、Spring Boot等企业常用技术栈实现具体版本和选型理由在架构篇说明。学完之后你能做什么就是以后公司让你做SSO的时候你知道第一步该干什么第二步该干什么。如果哪天领导跟你说「把这个新系统接进统一认证。」我希望你不会一脸懵而是知道应该先去看认证中心、还是去改网关、还是注册CAS服务。
返回列表