cas学习笔记

消息队列 (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 浏览器 (张三/攻击者) 管理员

相关推荐
阿成学长_Cain13 小时前
Linux ipcs 命令超全详解:查看共享内存 / 消息队列 / 信号量,IPC 运维必备
linux·运维·服务器·网络·数据库
OceanBase数据库官方博客15 小时前
OceanBase AI 时代,数据库的变与不变(技术解析与实践)
数据库·人工智能·oceanbase
阿成学长_Cain16 小时前
Linux dirs命令详解|Bash目录堆栈管理快速切换目录实战教程
linux·运维·前端·数据库
ywl47081208716 小时前
Mysql 平衡二叉树、红黑树、B树、B+树区别以及应用场景(五)
数据库·b树·mysql
IvorySQL17 小时前
IvorySQL Agent 探索与实践
数据库·人工智能·postgresql·oracle·ivorysql
SelectDB18 小时前
美团数十 PB 规模 Apache Doris 实践:从统一 OLAP 到 AI-Native 数据基座
大数据·数据库·性能优化
星幻元宇VR18 小时前
公共安全实训展厅设备【人防知识学习系统】
科技·学习·安全
Database_Cool_18 小时前
阿里云RDS主从延迟解决方案_只读实例半同步复制最佳实践
数据库·人工智能
KaMeidebaby19 小时前
卡梅德生物技术快报|小 RNA 适配体合成 + 多方法亲和力表征全流程标准化操作手册
前端·网络·数据库·人工智能·算法
卓怡学长19 小时前
w269基于spring boot + vue 候鸟监测数据管理系统
java·数据库·spring boot·spring·intellij-idea