用途:在 Java Spring Boot 服务中进行安全设计与审查,覆盖认证、授权、输入校验、CSRF、密钥管理、安全响应头、限流与依赖安全。
主要能力与做法:认证方面推荐无状态 JWT 或不透明令牌加吊销列表,会话场景使用 httpOnly、Secure、SameSite=Strict Cookie,并用 OncePerRequestFilter 或资源服务器校验令牌。授权方面启用 @EnableMethodSecurity,使用 @PreAuthorize 表达式,默认拒绝、仅暴露必要权限。输入校验使用 Bean Validation,在 DTO 上加约束并用 @Valid,HTML 渲染前按白名单清理。SQL 使用 Spring Data 仓库或参数化查询,禁止字符串拼接。密码用 BCrypt 或 Argon2 哈希,通过 PasswordEncoder bean 处理。CSRF 对浏览器会话应用保持开启,纯 API Bearer 令牌场景可关闭并设无状态会话。密钥从环境变量或 Vault 加载,禁止硬编码。配置安全响应头、在安全过滤层配置 CORS 且生产中不使用 *。用 Bucket4j 或网关做限流,超限返回 429。在 CI 中运行 OWASP Dependency Check 或 Snyk 并阻断已知 CVE。日志不得记录密钥、令牌、密码或完整卡号;文件上传校验大小、类型与扩展名并存放在 web 根目录之外。
使用方式:该技能以清单与代码片段形式给出实践建议,示例包括 JwtAuthFilter、AdminController、CreateUserDto、参数化原生查询、PasswordEncoder bean、CSRF 与无状态配置、CORS 配置、RateLimitFilter 等,可作为编码与发布前审查参考。
限制:资料未提供安装命令、价格、平台支持范围或具体性能效果,以上内容暂未提供;实际实现需结合项目版本与合规要求自行验证。