Expose a `SecurityFilterChain` bean using the Spring Security 6 Lambda DSL; do not extend the removed `WebSecurityConfigurerAdapter`: ```java @Bean SecurityFilterChain api(HttpSecurity http) throws Exception { http .csrf(csrf -> csrf.disable()) // only for a pure token-based API .cors(Customizer.withDefaults()) .sessionManagement(s -> s.sessionCreationPolicy(STATELESS)) .authorizeHttpRequests(auth -> auth .requestMatchers("/actuator/health", "/v3/api-docs/**").permitAll() .requestMatchers("/a...
Scanned 9/5/2026
Install to Claude Code
npx -y skills add HoangNguyen0403/agent-skills-standard --skill spring-boot-security --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Spring Boot Security?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/hoangnguyen0403-spring-boot-security-agent-skills-standard)More formats (shields.io, HTML) on the badges page.
Expose a `SecurityFilterChain` bean using the Spring Security 6 Lambda DSL; do not extend the removed `WebSecurityConfigurerAdapter`:
```java
@Bean
SecurityFilterChain api(HttpSecurity http) throws Exception {
http
.csrf(csrf -> csrf.disable()) // only for a pure token-based API
.cors(Customizer.withDefaults())
.sessionManagement(s -> s.sessionCreationPolicy(STATELESS))
.authorizeHttpRequests(auth -> auth
.requestMatchers("/actuator/health", "/v3/api-docs/**").permitAll()
.requestMatchers("/api/admin/**").hasRole("ADMIN")
.anyRequest().authenticated());
return http.build();
}
```
Use `requestMatchers`, not `antMatchers`. Statelessness is appropriate for a REST API only when credentials are supplied on each request, typically through a validated bearer JWT; configure an `AuthenticationManager` or `JwtDecoder` accordingly. Do not disable CSRF blindly: pure APIs without browser cookies can disable it, while browser applications using cookies need CSRF protection.
Restrict CORS to known origins and never combine wildcard origins with credentials. Load signing keys from environment/Vault, enforce token issuer, audience, expiry, and a permitted RS256 or HS256 algorithm, and secure actuator endpoints. Verify unauthenticated, authenticated, forbidden, CORS, and expired-token responses with integration tests.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!