Skip to content

Commit 5fe82cc

Browse files
committed
Configured Role Based Access control for API End points.
1 parent aeafcfd commit 5fe82cc

File tree

2 files changed

+5
-0
lines changed

2 files changed

+5
-0
lines changed

src/main/java/com/alwinsimon/UserManagementJavaSpringBoot/Config/SecurityConfig.java

+2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import org.springframework.context.annotation.Bean;
88
import org.springframework.context.annotation.Configuration;
99
import org.springframework.security.authentication.AuthenticationProvider;
10+
import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity;
1011
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
1112
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
1213
import org.springframework.security.config.http.SessionCreationPolicy;
@@ -16,6 +17,7 @@
1617
@Configuration
1718
@EnableWebSecurity
1819
@RequiredArgsConstructor
20+
@EnableMethodSecurity(securedEnabled = true, prePostEnabled = true)
1921
public class SecurityConfig {
2022

2123
private final JwtAuthenticationFilter jwtAuthenticationFilter;

src/main/java/com/alwinsimon/UserManagementJavaSpringBoot/Controller/AdminController.java

+3
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import lombok.RequiredArgsConstructor;
66
import org.springframework.http.HttpStatus;
77
import org.springframework.http.ResponseEntity;
8+
import org.springframework.security.access.annotation.Secured;
89
import org.springframework.web.bind.annotation.*;
910

1011
import java.util.List;
@@ -18,6 +19,7 @@ public class AdminController {
1819
private final AdminService adminService;
1920

2021
@GetMapping("/get-users")
22+
@Secured("ADMIN")
2123
public ResponseEntity<List<User>> getAllUsers() {
2224

2325
// API Endpoint to get the LoggedIn User Details using Token received in the Request Header.
@@ -27,6 +29,7 @@ public ResponseEntity<List<User>> getAllUsers() {
2729
}
2830

2931
@DeleteMapping("/delete-user/{email}")
32+
@Secured("ADMIN")
3033
public ResponseEntity<String> deleteUser(@PathVariable("email") String email) {
3134
try {
3235
adminService.deleteUserByEmail(email);

0 commit comments

Comments
 (0)