HomeWorkNotes

© 2026 AuraWorks. All rights reserved.

TwitterLinkedIn
Back to Garden
Engineering|April 17, 2025

Securing a Spring Boot App with Authorization

#SpringBoot#Security

First, you’ll need to add the Spring Security dependency to your project. You can do this by adding the following to your “pom.xml” file:

First, you’ll need to add the Spring Security dependency to your project. You can do this by adding the following to your “pom.xml” file:

<dependency>  
    <groupId>org.springframework.security</groupId>  
    <artifactId>spring-security-core</artifactId>  
    <version>5.4.4</version>  
</dependency>

Next, you’ll need to add a “WebSecurityConfigurerAdapter” to your project and override the “configure” method. This is where you’ll configure the rules for securing your app:

@Configuration  
public class SecurityConfig extends WebSecurityConfigurerAdapter {  
    @Override  
    protected void configure(HttpSecurity http) throws Exception {  
        http  
            .authorizeRequests()  
                .anyRequest().authenticated()  
                .and()  
            .formLogin()  
                .and()  
            .httpBasic();  
    }  
}

This configuration will require that all requests to your app are authenticated using either a form login or HTTP basic authentication.

You can also specify more granular rules for which paths are secured and which are not by using the “antMatchers” method. For example:

@Override  
protected void configure(HttpSecurity http) throws Exception {  
    http  
        .authorizeRequests()  
            .antMatchers("/admin/\*\*").hasRole("ADMIN")  
            .antMatchers("/user/\*\*").hasAnyRole("USER", "ADMIN")  
            .anyRequest().authenticated()  
            .and()  
        .formLogin()  
            .and()  
        .httpBasic();  

}

This configuration will require that all requests to paths starting with /admin/ have the role ADMIN, all requests to paths starting with /user/ have either the USER or ADMIN role, and all other requests are authenticated.

I hope this helps! Let me know if you have any other questions.

Related Posts

EngineeringAugust 14, 2025

Using JSON Web Tokens (JWT) with Spring Boot for Authentication and Authorization

EngineeringOctober 14, 2025

Spring Boot 3 and Spring Framework 6: what’s new and improved

EngineeringDecember 8, 2024

Introducing Project Loom: The Future of Java Concurrency and Performance