本项目配合前端项目fir_security_vue2可以运行。
| 功能 | 实现 |
|---|---|
| 令牌校验 | ✔ |
| 请求整体解密 | ✔ |
| 响应整体加密 | ✔ |
| 防重放校验 | ✔ |
| 完整性校验 | ✔ |
| xss校验 | ✔ |
| ip地址白名单 | ✔ |
| 接口地址白名单 | ✔ |
| Nacos配置、服务注册中心 | ✔ |
| Redis | ✔ |
| 访问日志记录器 | ✔ |
| 盐 | ✔ |
| AES对称加密 | ✔ |
| RSA非对称加密 | ✔ |
| 框架 | 说明 | 版本 | 相关文档 |
|---|---|---|---|
| Spring Cloud Alibaba | 阿里分布式应用服务一站式解决方案 | 2021.0.5.0 | 文档 |
| Spring Boot | 应用开发框架 | 2.6.13 | 文档 |
| Spring Cloud Gateway | Spring生态系统之上的API网关 | 2021.0.5.0 | 文档 |
| nacos | 配置管理和服务管理 | 2021.0.5.0 | 文档 |
| loadbalancer | 负载均衡器 | 2021.0.5.0 | 文档 |
| netflix-hystrix | 熔断器 | 2.2.10.RELEASE | 文档 |
| feign | 负载均衡和服务发现等功能 | 2021.0.5.0 | 文档 |
| Redis | key-value 数据库 | 5.0 | 文档 |
| hutool-all | 功能丰富且易用的Java工具库 | 5.8.20 | 文档 |
| jsoup | Java 的HTML解析器 | 1.14.1 | 文档 |
| commons-lang3 | 类型转换工具库 | 3.12.0 | 文档 |
| fastjson | JSON 工具库 | 1.2.83 | 文档 |
选择目前最新的Spring Boot 2.6.13作为基础。
| Spring Cloud Alibaba Version | Spring Cloud Version | Spring Boot Version |
|---|---|---|
| 2021.0.5.0 | Spring Cloud 2021.0.5 | 2.6.13 |
根据Spring Cloud的版本选择适合的中间件。
| Spring Cloud Alibaba Version | Sentinel Version | Nacos Version | RocketMQ Version | Dubbo Version | Seata Version |
|---|---|---|---|---|---|
| 2021.0.5.0 | 1.8.6 | 2.2.0 | 4.9.4 | ~ | 1.6.1 |
请求数据(请求拦截器)
前端业务-->请求白名单-->添加请求头数据(token,sessionId)-->添加防重放信息-->添加完整性校验信息-->数据整体对称加密-->数据非对称加密-->http-->Gateway网关
响应数据(响应拦截器)
Gateway网关-->http-->前端-->401判断-->请求白名单-->非对称解密-->对称解密-->json转化处理-->前端业务
请求数据处理(请求拦截器)
前端-->Gateway网关-->访问来源记录-->令牌token校验拦截器-->整体解密拦截器-->防重放拦截器-->完整性检验拦截器-->XSS拦截器-->负载均衡-->微服务。
响应数据处理(响应拦截器)
微服务-->整体加密拦截器-->http-->前端。