본문 바로가기

Spring Boot/Security

[SpringBoot Secyruty] 권한 처리

 

첫번째 - 회원가입

1.Admin 계정 만들기

 

2.Manager 계정 만들기

 

3.User 계정 만들기

 

두번째 - 권한 변경

1. DB에 접속해서 쿼리 ㄱㄱ

 

 

2.잘 변경되었는지 확인 ㄱㄱ

 

3.테스트 진행

    :localhost:8080에 접근하여 계정별로 로그인하여 어떤 페이지까지 들어가지는 확인

    :페이지에 들어가지면 = O

    :페이지에 안들어가지면 = X

ID locahost:8080/ locahost:8080/user locahost:8080/manager locahost:8080/admin
User O O X X
Mnager O O O X
Admin O O O O

 

 

세번째 - 페이지별 권한 설정

1.SecurityConfig Class -> 어노테이션 추가

    :@Secured() 어노테이션을 사용가능하게 함

@EnableGlobalMethodSecurity(securedEnabled = true)

 

2.IndexController Class -> Info Method와 @Secured Annotation 추가 ㄱㄱ

    :localhost:8080/info에 접근할려면 "ROLE_ADMIN" 권한이 필요

	@Secured("ROLE_ADMIN")
	@GetMapping(value = "/info")
	public @ResponseBody String info() {
		return "개인 정보";
	}

 

3.SecurityConfig Class -> 어노테이션 추가

@EnableGlobalMethodSecurity(securedEnabled = true, prePostEnabled = true)

 

4.IndexController Class -> Data Method와 @PreAuthorize Annotation 추가 ㄱㄱ

    :localhost:8080/info에 접근할려면 "ROLE_ADMIN" or "ROLE_MANAGER" 권한이 필요

	@PreAuthorize("hasRole('ROLE_MANAGER') or hasRole('ROLE_ADMIN')")
	@GetMapping(value = "/data")
	public @ResponseBody String data() {
		return "데이터 정보";
	}