Hello

6. 시큐리티 권한처리

by 볼빵빵오춘기

Point - 회원가입으로 회원추가 할 때 

  • 권한이 ‘ROLE_ADMIN’, ‘ROLE_MANAGER’인 회원을 만든다.
  • ROLE_MANAGER 등급을 가진 회원은 /user 요청페이지로 들어갈 수 있지만 /manager, /admin 요청 페이지는 들어갈 수 없다.
  • ROLE_MANAGER 등급을 가진 회원은 /user, /manager 요청페이지로 들어갈 수 있지만 /admin 요청 페이지는 들어갈 수 없다.
  • ROLE_ADMIN 등급을 가진 회원은 /user, /manager, /admin 요청페이지로 들어갈 수 있다.

 

SecurityConfig

@EnableGlobalMethodSecurity(securedEnabled = true) 붙임으로써 secured 어노테이션 활성화시킨다.

⇒ IndexController.java에 @Secured("ROLE_ADMIN") 붙여 확인할 수 있다.

@EnableGlobalMethodSecurity(securedEnabled = true) // secured 어노테이션 활성화
public class SecurityConfig extends WebSecurityConfigurerAdapter{

 

IndexController

  • @Secured("ROLE_ADMIN") 을 붙이기 전에는 /info 요청하면 ROLE_USER, ROLE_MANAGER, ROLE_ADMIN 의 등급을 가진 회원이 해당 url에 들어갈 수있는 것을 확인 할 수 있다.
  • @Secured("ROLE_ADMIN") 해당 부분의 주석을 제거하고 ROLE_USER, ROLE_MANAGER, ROLE_ADMIN을 등급을 가진 회원으로 로그인 후 다시 들어가 보면 해당 url은 이제 ROLE_ADMIN등급을 가진 회원만 들어갈 수 있다.
  • 이런 어노테이션으로는 추가로 @PreAuthorize @PostAuthorize 가 있다.
// @Secured("ROLE_ADMIN")
@GetMapping("/info")
public @ResponseBody String info(){
return "개인정보";
}

 

블로그의 프로필 사진

블로그의 정보

Hello 춘기's world

볼빵빵오춘기

활동하기