mcpField
S
spring-security-testing

spring-security-testing

github.com/spring-ai-community测试与质量5239 次安装27 周前更新
代码仓库

关于 spring-security-testing

spring-security-testing 是用于编写 Spring 应用安全测试的技能,面向使用 JUnit 5 的开发者。内容涵盖常见的认证、授权、CSRF、JWT、OAuth2 和 OIDC 测试模式。

主要功能

  1. 01设置模拟用户和用户详情
  2. 02测试单请求认证
  3. 03在请求中添加 CSRF 令牌
  4. 04测试 JWT 资源服务器行为
  5. 05测试 OAuth2 和 OIDC 登录
  6. 06测试方法安全与自定义上下文

适用场景

  1. 01使用模拟用户测试访问规则
  2. 02测试受保护的 POST、PUT 和 DELETE 请求
  3. 03验证受 JWT 保护的端点
  4. 04测试 OAuth2 或 OIDC 认证流程

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/spring-ai-community/spring-testing-skills --skill spring-security-testing

安装后在 Claude Code 中输入/spring-security-testing确认已加载。

附带文件references/security-testing-patterns.md

详细介绍

Spring Security 测试

信号:@WithMockUser、@WithUserDetails、csrf()、jwt()、oauth2Login()、mockOidcLogin()、@WithSecurityContext、SecurityMockMvcRequestPostProcessors、AccessDeniedException、SCOPE_

测试适用版本

  • Spring Boot 3.2+ / Spring Boot 4.x
  • Spring Security 6.x / 7.x
  • Spring Framework 6.x / Spring Framework 7.x
  • JUnit 5

请勿在以下场景使用此技能

  • 测试 REST 控制器的 HTTP 行为(状态码、JSON 请求体、请求头),但不关注安全性 → 使用 spring-mvc-testing
  • 测试带有安全机制的响应式端点 → 使用 spring-webflux-testing
  • 测试 JPA 仓库 → 使用 spring-jpa-testing
  • 在没有安全上下文的情况下,为服务逻辑编写纯单元测试 → 使用 spring-testing-fundamentals

何时阅读参考资料

场景阅读
设置 @WithMockUser 和 @WithUserDetailsreferences/security-testing-patterns.md
roles 与 authorities 的区别,以及 ROLE_ 前缀陷阱references/security-testing-patterns.md
使用 SecurityMockMvcRequestPostProcessors(user()、httpBasic())为每个请求设置身份验证references/security-testing-patterns.md
POST/PUT/DELETE 请求的 CSRF——避免测试中出现 403references/security-testing-patterns.md
使用 jwt() 后置处理器测试 JWT 资源服务器references/security-testing-patterns.md
使用 oauth2Login()、mockOidcLogin() 测试 OAuth2 登录和 OIDCreferences/security-testing-patterns.md
为复杂 JWT 场景自定义 @WithSecurityContextreferences/security-testing-patterns.md
测试 @PreAuthorize 方法安全性references/security-testing-patterns.md
Boot 3.x → 4.x 安全测试变更references/security-testing-patterns.md

评论

支持 Markdown