본문 바로가기

카테고리 없음

Keycloak과 SpringBoot의 Role을 사용하려면

Realm 선택 > Roles > Add Role 

Spring Boot에 Security Config에 특정 url에 Role을 적용하려면

http
.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);
}

위의 Role이 제대로 작동하려면 앞에 prefix에 ROLE이 꼭 있어야한다.