消息队列 (Kafka) CAS/IAM中心 (认证授权) B系统 (摩天轮) A系统 (过山车) 消息队列 (Kafka) CAS/IAM中心 (认证授权) B系统 (摩天轮) A系统 (过山车) 🎡 场景一:进系统 (首次登录获取 A 系统凭证) 🚪 场景二:退出系统 (基于MQ的单点登出) 👑 场景三:修改VIP权限 (基于MQ的实时感知) 🚨 场景四:越权访问 (尝试用 A 的票去 B 系统) 假设攻击者在 ST-1 被A验证前 劫持了它,或者伪造请求 浏览器 (张三/攻击者) 管理员 访问A系统 1 未登录,带上 service=A 跳转CAS 2 提交账号密码 3 校验通过,生成 TGT 4 【核心】生成 ST-1 并与 service=A 强绑定 5 种下TGC,携 ST-1 重定向回A系统 6 携带 ST-1 访问A系统 7 A后端携带 (ticket=ST-1, service=A) 去验证 8 验证通过 (服务匹配),ST-1 作废,返回用户信息 9 生成A系统本地Token 10 登录A系统成功 11 点击全局退出按钮 12 销毁中央 TGT 13 异步发布【张三登出事件】 14 A系统消费消息,清理本地Token 15 取消张三 VIP 权限 16 异步发布【权限变更事件】 17 A系统消费消息,刷新Redis权限缓存 18 访问A系统VIP接口 ->> 403 被拒 19 恶意携带属于A的 ST-1 访问B系统 20 B后端携带 (ticket=ST-1, service=B) 去验证 21 查库发现 ST-1 绑定的是 service=A 22 比对失败 (A != B) ! 发现越权或伪造! 23 验证失败:Ticket不属于该Service (INVALID_SERVICE) 24 拒绝访问,强制跳转到CAS重新登录 25 浏览器 (张三/攻击者) 管理员
相关推荐
Decay__2 小时前
12_MySQL InnoDB 内存与锁调优 —— Buffer Pool、redo log、隔离级别与锁等待笃行3502 小时前
AI数据库的库内四层结构,KingbaseES 产品拆解叼烟扛炮2 小时前
[LangChain] 学习笔记(06):突破大模型限制——结构化输出(Structured Output)且从容.4 小时前
VUE3学习笔记(根据黑马教程总结)我是大猴子4 小时前
redis蒸蒸yyyyzwd5 小时前
关于 AI 开发相关的一些面经。苏宸啊6 小时前
MySQL(一)2603_969694856 小时前
JDBC 基础学习笔记:API 核心原理解析与 CRUD 代码实操这个DBA有点耶7 小时前
库内语义构建 vs 外挂向量库:业务语义缺失,才是RAG“胡说八道”的根源迪康coolmu7 小时前
出差终端数据安全落地实战:基于迪康端点安全一体化管理系统的四道防线实践