消息队列 (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 浏览器 (张三/攻击者) 管理员
相关推荐
CodexDave15 分钟前
PostgreSQL 明明有索引却选了 Nested Loop:从行数误判修正执行计划熊猫钓鱼>_>26 分钟前
ArkTS 装饰器总览:V1 / V2 / 通用装饰器完整学习笔记GLDbalala40 分钟前
GPU PRO 5 - 5.2 glTF: Designing an Open-Standard Runtime Asset Format笔记春生野草1 小时前
个人笔记——栈chnyi6_ya1 小时前
论文阅读笔记 | One Sentence, One Drama: 基于多智能体系统的个性化短剧生成ysa0510302 小时前
【板子】短序列dp(换成维护更小常数维度的dp)czhaii2 小时前
STC ai助手单片机工程项目创建实例山峰哥2 小时前
数据库性能救星:Explain执行计划深度拆解oradh3 小时前
Oracle 11g rac IP地址修改(public ip、vip、scan ip、priviate ip)Dory_Youth3 小时前
联想笔记本电脑失灵