L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Productivité · SKILL.md

spring-boot-security

spring-boot-security

Configure Spring Security 6+ with Lambda DSL, JWT, and hardening rules. Use when configuring Spring Security 6+, OAuth2, JWT, or security hardening in Spring Boot.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: spring-boot-security description: Configure Spring Security 6+ with Lambda DSL, JWT, and hardening rules. Use when configuring Spring Security 6+, OAuth2, JWT, or security hardening in Spring Boot. metadata: triggers: files: - '/*SecurityConfig.java' - '/*Filter.java' keywords: - security-filter-chain - lambda-dsl - csrf - cors

Spring Boot Security Standards

Priority: P0 (CRITICAL)

Configure SecurityFilterChain

  • Lambda DSL: ALWAYS use Lambda DSL.
  • SecurityFilterChain: Expose as @Bean. not extend WebSecurityConfigurerAdapter.
  • Statelessness: Enforce SessionCreationPolicy.STATELESS for REST APIs.

See implementation examples for SecurityFilterChain configuration with Lambda DSL and JWT.

Implement Authentication and Authorization

  • Authentication: Validation of credentials (Who you?). Use AuthenticationManager or JwtDecoder.
  • Authorization: Verification of access rights (Can you this?). Use @PreAuthorize.

Secure JWT Tokens

  • Algorithm: Enforce RS256 or HS256. Reject none algorithm.
  • Claims: Validate iss, aud, and exp.
  • Tokens: Short-lived access JWTs (15m), secure refresh tokens (httpOnly cookie).

Hardening Checklist

  • CSRF: Disabled for pure APIs? Enabled + Cookie for Browser Apps?
  • CORS: Specific origins permitted? No * with credentials?
  • Headers: HSTS, Content-Type-Options, X-Frame-Options enabled?
  • Secrets: No hardcoded keys? Loaded from Vault/Env?
  • Rate Limiting: Applied on login/expensive endpoints?
  • Dependencies: Scanned for CVEs?

Anti-Patterns

  • No Adapter: Use SecurityFilterChain bean instead of extending legacy classes.
  • No .and(): Use Lambda DSL for configuration.
  • No Secrets: Load from Vault or Environment variables (never git).
  • No antMatchers: Use requestMatchers (Spring Security 6+).

References

Skills enregistrées