Realm 선택 > Roles > Add Role
Spring Boot에 Security Config에 특정 url에 Role을 적용하려면
http
.authorizeRequests()
.antMatchers("/","/login","/api/login").permitAll()
.antMatchers("/api/**").hasRole("USER")
.authorizeRequests()
.antMatchers("/","/login","/api/login").permitAll()
.antMatchers("/api/**").hasRole("USER")
이렇게 놓고 아래의 Controller에 hasRole을 넣는다
@RequestMapping("/list")
@PreAuthorize("hasRole('USER')")
public ResponseEntity<?> list(@RequestBody Map<String,Object> input,@AuthenticationPrincipal UserDto loginUser) {
List<Map<String,Object>> result = centerService.selectCenterList(input);
return ResponseEntity.ok(result);
}
@PreAuthorize("hasRole('USER')")
public ResponseEntity<?> list(@RequestBody Map<String,Object> input,@AuthenticationPrincipal UserDto loginUser) {
List<Map<String,Object>> result = centerService.selectCenterList(input);
return ResponseEntity.ok(result);
}
위의 Role이 제대로 작동하려면 앞에 prefix에 ROLE이 꼭 있어야한다.