消息队列 (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 浏览器 (张三/攻击者) 管理员
相关推荐
不会代码的小猴1 分钟前
6. Qt网络编程隔窗听雨眠6 分钟前
MySQL索引机制深度解析:从B+树原理到高并发查询优化的完整指南我的xiaodoujiao17 分钟前
使用PyMySQL模块技术操作MySQL数据库MartinYeung533 分钟前
[论文学习]ChainWatch:面向MCP-Based AI智能体系统中多步攻击的杀伤链对齐序贯检测框架tq108634 分钟前
从阿罗不可能定理到所有制:动态协调与资源再配置的理论逻辑fīɡЙtīиɡ ℡44 分钟前
AI 应用评测体系cypking2 小时前
Objective-C 语法完整学习手册(小白自学 + 开发备查)zmzmzmalo3 小时前
Linux ELF文件加载与内存管理揭秘Terra.K9 小时前
Java异常学习[特殊字符]Super 含10 小时前
Android 启动优化(五):线程、GC 与 IO 为什么会拖慢启动?