1.5 KiB
1.5 KiB
安全架构分析文档
1. 认证与授权
- JWT认证:使用
JwtTokenUtil实现基于HS512算法的令牌签发/验证 - 有效期检查:令牌包含过期时间(
expiration) - 过滤器链:
JwtAuthenticationTokenFilter拦截请求验证令牌 - 用户上下文:通过
UserDetailsService加载用户权限信息
2. 密码安全
- BCrypt加密:使用
PasswordUtils进行密码哈希存储(工作因子10) - 盐值机制:每次加密生成随机盐值
- 防暴力破解:无明文密码传输
3. 输入安全
- XSS防护:
XSSInterceptor拦截器过滤请求参数- 使用
HtmlUtil.filter()清理HTML内容
- CSRF防护:未显式配置(依赖JWT无状态特性)
4. API安全
- CORS配置:通过
WebConfig控制跨域访问 - 生产环境保护:
- Knife4j文档仅在非生产环境启用(
@Profile("!prod")) - 敏感接口需要有效JWT
- Knife4j文档仅在非生产环境启用(
5. 注册安全
- 注册码机制:
- 使用
RegistrationCodeService管理时效性注册码 - 每日自动清理过期注册码(
@Scheduled)
- 使用
- 注册开关:可通过
SystemSettingService动态关闭注册功能
6. 数据安全
- 敏感数据:
- 密码字段应始终加密存储
- JWT令牌不存储敏感信息
- SQL防护:使用MyBatis参数绑定防止注入
改进建议
- 增加密码强度策略
- 实现JWT黑名单/刷新机制
- 添加敏感操作日志审计
- 配置HTTPS强制跳转
- 增加API速率限制
文档最后更新:2025-08-04