跳到主要内容

安全机制

ThingsIoT 平台从认证、授权、传输、存储等多个层面构建了完整的安全防护体系。

一、JWT Token 认证

  • 无状态认证:基于 JWT(JSON Web Token)的认证机制,服务端无需存储会话状态
  • Token 过期与刷新:支持 token 有效期配置,过期后可刷新
  • 请求拦截:API 网关层统一验证 token,非法请求直接拦截

二、RBAC 权限模型

  • 基于角色的访问控制:用户 → 角色 → 权限的三层模型
  • 细粒度权限
    • 菜单权限:控制页面访问
    • 接口权限:控制 API 调用
    • 数据权限:项目级/网关级数据隔离
  • 多角色支持:一个用户可拥有多个角色,权限取并集

三、请求限流

  • IP 级别限流:限制单 IP 的请求频率,防止恶意攻击
  • 用户级别限流:限制单用户的 API 调用频率
  • 熔断机制:下游服务异常时自动熔断,防止雪崩效应

四、数据安全

  • 敏感数据加密:关键字段(密码、密钥等)加密存储
  • 传输加密:HTTPS 全站加密,MQTT 支持 TLS 加密传输
  • 数据隔离:项目级数据桶隔离,多租户数据互不可见

五、审计日志(规划中)

  • 操作行为全程记录
  • 支持按用户、时间、操作类型查询
  • 满足合规审计需求

安全架构示意

┌─────────────────────────────────────────────────────┐
│ 客户端请求 │
└────────────────────┬────────────────────────────────┘
│ HTTPS
┌────────────────────▼────────────────────────────────┐
│ Spring Cloud Gateway │
│ ① JWT Token 验证 ② IP/用户限流 ③ CORS 跨域 │
└────────────────────┬────────────────────────────────┘
│ 路由分发
┌────────────────────▼────────────────────────────────┐
│ 微服务层 │
│ ④ RBAC 权限校验 ⑤ 数据权限过滤 │
└────────────────────┬────────────────────────────────┘

┌────────────────────▼────────────────────────────────┐
│ 数据层 │
│ ⑥ 敏感字段加密 ⑦ 项目数据隔离 │
└─────────────────────────────────────────────────────┘