使用mermaid 语言绘画时序图和链路图

该文章已生成可运行项目,

给大家展示一下效果,
官方地址:https://mermaid.nodejs.cn/
官方开发地址:https://mermaid.nodejs.cn/intro/#google_vignette
同时IDEA也有这个插件可以实时修改和查看预览。
在这里插入图片描述
在这里插入图片描述

基于Spring SAS-OAuth2的全链路安全架构图.mermaid

graph LR
    %% ==================== 样式定义 ====================
    classDef user fill:#E1F5FE,stroke:#0288D1;
    classDef app fill:#E8F5E9,stroke:#388E3C;
    classDef data fill:#F3E5F5,stroke:#8E24AA;
    classDef security fill:#FFEBEE,stroke:#E53935,dashed;
    classDef infra fill:#FFF3E0,stroke:#FB8C00;

    %% ==================== 用户终端层 ====================
    subgraph 用户层["客户端访问"]
        浏览器:::user
        移动APP:::user
        API客户端:::user
        小程序:::user
    end

    %% ==================== 安全接入层 ====================
    subgraph 接入层["安全网关"]
        Nginx代理:::infra
        WAF防火墙:::infra
        流量审计:::infra
    end

    %% ==================== Spring安全体系 ====================
    subgraph 安全层["安全控制核心"]
        SecurityFilterChain:::security
        SAS授权中心:::security
        SessionRegistry:::security
        ACL决策服务:::security
        密码加密器:::security
    end

    %% ==================== 业务应用层 ====================
    subgraph 应用层["SpringBoot单体服务"]
        控制器:::app
        服务模块:::app
        DAO组件:::app
        缓存管理:::app
    end

    %% ==================== 混合数据层 ====================
    subgraph 数据层["数据存储"]
        subgraph Redis集群["Redis高可用"]
            Redis主节点:::data
            Redis从节点1:::data
            Redis从节点2:::data
        end
        
        subgraph 高斯集群["高斯数据库"]
            高斯主节点:::data
            高斯从节点1:::data
            高斯从节点2:::data
        end
    end

    %% ==================== 核心流程 ====================
    用户层 -->|HTTPS请求| 接入层
    接入层 -->|流量过滤| 安全层
    
    %% 认证授权流
    SecurityFilterChain -->|会话管理| SessionRegistry
    SessionRegistry -->|存储加密Token| Redis主节点
    SAS授权中心 -->|SM3密码加密| 密码加密器
    SAS授权中心 -->|客户端验证| 高斯主节点
    ACL决策服务 -->|权限校验| 高斯主节点

    %% 业务数据流
    控制器 -->|业务处理| 服务模块
    服务模块 -->|数据操作| DAO组件
    DAO组件 -->|JDBC连接| 高斯主节点
    缓存管理 -->|本地缓存| 服务模块
    
    %% 数据同步
    Redis主节点 -.->|主从同步| Redis从节点1
    Redis主节点 -.->|主从同步| Redis从节点2
    高斯主节点 -.->|数据同步| 高斯从节点1
    高斯主节点 -.->|数据同步| 高斯从节点2

    %% ==================== 安全增强模块 ====================
    subgraph 安全增强["安全加固措施"]
        direction TB
        S1["会话固定攻击防护"]
        S2["CSRF令牌校验"]
        S3["密码SM3加密"]
        S4["Token SM4加密"]
        S5["请求签名验证"]
    end

    %% ==================== 监控审计体系 ====================
    subgraph 监控层["审计追踪"]
        日志采集 --> ELK看板
        行为审计 --> 风险预警
        流量审计 --> 攻击画像
    end

    %% ==================== 国产化标注 ====================
    style 数据层 stroke:#E53935,stroke-width:2px
    style 安全层 stroke:#E53935,stroke-width:2px
    style Redis集群 stroke:#E53935
    style 高斯集群 stroke:#E53935

    %% ==================== 组件关联标注 ====================
    SecurityFilterChain -.-> S1
    SAS授权中心 -.-> S2
    密码加密器 -.-> S3
    SessionRegistry -.-> S4
    WAF防火墙 -.-> S5

基于Spring SAS-OAuth2体系的纵向时序图.mermaid

sequenceDiagram
    participant 用户
    participant 前端
    participant SAS授权中心
    participant 业务模块
    participant Redis集群
    participant 高斯数据库

    rect rgba(200,200,255,0.1)
    用户->>前端: 1. 访问/login页面
    前端->>SAS授权中心: 2. 请求授权端点
    SAS授权中心->>用户: 3. 返回登录表单(含CSRF)
    用户->>SAS授权中心: 4. 提交账号密码
    SAS授权中心->>SAS授权中心: 5. SM3加密密码
    SAS授权中心->>高斯数据库: 6. 查询用户凭证
    高斯数据库-->>SAS授权中心: 7. 返回加密密码
    SAS授权中心->>SAS授权中心: 8. 密码比对验证
    SAS授权中心->>Redis集群: 9. 生成加密Token(SM4)
    Redis集群-->>SAS授权中心: 10. 存储Token成功
    SAS授权中心->>前端: 11. 返回授权码(302重定向)
    前端->>SAS授权中心: 12. 换取AccessToken
    SAS授权中心->>Redis集群: 13. 验证授权码
    Redis集群-->>SAS授权中心: 14. 返回关联Token
    SAS授权中心->>前端: 15. 下发加密AccessToken
    前端->>用户: 16. 存储至SecureCookie
    end

    rect rgba(200,255,200,0.1)
    用户->>前端: 17. 携带Token请求/resource
    前端->>业务模块: 18. 传递加密Token
    业务模块->>业务模块: 19. 执行安全过滤器链:
    Note over 业务模块: a) CSRF校验<br/>b) Token解密(SM4)<br/>c) 权限预加载
    业务模块->>Redis集群: 20. 验证Token有效性
    Redis集群-->>业务模块: 21. 返回用户权限
    业务模块->>高斯数据库: 22. 查询业务数据
    高斯数据库-->>业务模块: 23. 返回加密数据
    业务模块->>业务模块: 24. 数据解密处理
    业务模块->>前端: 25. 返回响应(附加审计追踪ID)
    前端->>用户: 26. 渲染页面
    end

    rect rgba(255,200,200,0.1)
    用户->>前端: 27. 发起注销请求
    前端->>SAS授权中心: 28. 调用/revoke端点
    SAS授权中心->>Redis集群: 29. 删除Token记录
    SAS授权中心->>Redis集群: 30. 加入黑名单
    Redis集群-->>SAS授权中心: 31. 操作确认
    SAS授权中心->>业务模块: 32. 广播Token失效
    业务模块->>业务模块: 33. 清理安全上下文
    SAS授权中心->>前端: 34. 返回注销成功
    前端->>用户: 35. 清除客户端存储
    end

    opt Token自动续期
        业务模块->>Redis集群: 36. 滑动过期时间
        Redis集群-->>业务模块: 37. 更新有效期
    end

    opt 跨域SSO
        前端->>SAS授权中心: 38. 携带跨域Ticket
        SAS授权中心->>Redis集群: 39. 验证Ticket
        Redis集群-->>SAS授权中心: 40. 返回主Token
        SAS授权中心->>前端: 41. 签发新域Token
    end

    opt 全链路加密
        Note over SAS授权中心,业务模块: 42. 加密环节:<br/>- 密码SM3哈希<br/>- Token SM4加密<br/>- 数据字段加密
    end

在这里插入图片描述

本文章已经生成可运行项目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

❀͜͡傀儡师

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值