240105 TIL - 스프링 시큐리티 적용으로 권한 체크

jkeum·2024년 1월 5일
0

TECHIT-BackendSchool

목록 보기
22/50
post-thumbnail

스프링 시큐리티로 접근 권한을 체크할 수 있다.
해당 권한을 체크해야 하는 액션 메서드에 붙이면 된다.

@PreAuthorize("isAuthenticated()")

@PreAuthorize("isAnonymous()")

@PreAuthorize("hasRole('ADMIN')")

그리고 스프링 시큐리티 설정을 하는 클래스에

@EnableMethodSecurity

이 어노테이션을 붙이면 된다.


유저 롤을 체크할 때는

@PreAuthorize("hasRole('ADMIN')")

이렇게 메소드마다 붙이는 대신, 스프링 시큐리티 설정 클래스의 filterChain에 등록하는 방식도 가능하다.

return http
		.authorizeHttpRequests(
        		authorizeHttpRequests -> authorizeHttpRequests
						.requestMatchers("/adm/**")
            	    	.hasRole("ADMIN")
                		.anyRequest()
                		.permitAll()
		)
		...

추가로 여기서 hasRole("ADMIN")hasAuthority("ROLE_ADMIN")과 같다.

profile
It's me, jkeum!

0개의 댓글