I have a Spring Boot application where I want to secure an endpoint using Spring Security’s @PreAuthorize annotation. However, my application isn’t working as expected.
<code>import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class ProaccountRestApplication {
public static void main(String[] args) {
SpringApplication.run(ProaccountRestApplication.class, args);
}
@GetMapping("/home")
@PreAuthorize("hasRole('ROLE_Admin')")
public String getHome (){
return "Yes";
}
}
</code>
<code>import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class ProaccountRestApplication {
public static void main(String[] args) {
SpringApplication.run(ProaccountRestApplication.class, args);
}
@GetMapping("/home")
@PreAuthorize("hasRole('ROLE_Admin')")
public String getHome (){
return "Yes";
}
}
</code>
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class ProaccountRestApplication {
public static void main(String[] args) {
SpringApplication.run(ProaccountRestApplication.class, args);
}
@GetMapping("/home")
@PreAuthorize("hasRole('ROLE_Admin')")
public String getHome (){
return "Yes";
}
}
this is my RestController and it carries
<code>implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'com.microsoft.azure:azure-active-directory-spring-boot-starter:2.3.5'
implementation 'com.azure.spring:spring-cloud-azure-starter-active-directory:5.12.0'
implementation 'org.springframework.boot:spring-boot-starter-oauth2-client:3.2.3'
implementation 'org.springframework.security:spring-security-oauth2-client'
</code>
<code>implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'com.microsoft.azure:azure-active-directory-spring-boot-starter:2.3.5'
implementation 'com.azure.spring:spring-cloud-azure-starter-active-directory:5.12.0'
implementation 'org.springframework.boot:spring-boot-starter-oauth2-client:3.2.3'
implementation 'org.springframework.security:spring-security-oauth2-client'
</code>
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'com.microsoft.azure:azure-active-directory-spring-boot-starter:2.3.5'
implementation 'com.azure.spring:spring-cloud-azure-starter-active-directory:5.12.0'
implementation 'org.springframework.boot:spring-boot-starter-oauth2-client:3.2.3'
implementation 'org.springframework.security:spring-security-oauth2-client'
all this dependencies
I want to use Microsoft Entra Id for to create role-based system for current services
New contributor
Akshay Hole is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.