kgb.log
로그인
kgb.log
로그인
Method Level Authentication
김가빈
·
2023년 9월 1일
팔로우
0
0
springsecurity
목록 보기
14/23
method level에서도 spring security를 적용할 수 있다.
service, controller 등 어느 레이어에서도 적용할 수 있으며, 웹 어플레케이션이 아닌 경우에도 적용 가능하다.
실습
security config class에 다음과 같이 설정한다.
@preAuthorize
특정 권한을 지닌 경우에만 메소드를 호출 할 수 있도록 메소드 실행 전에 사전 검사를 수행한다.
다음 코드의 경우 ROOT권한을 가진 경우에만 해당 메소드에 접근 가능하다.
@PostAuthorize
메소드 실행 후에 권한 검사를 수행한다.
메소드가 실행된 후 지정된 표현식에 따라 반환된 결과를 확인하여 인증 및 권한을 검사한다.
예를들어 위의 코드와 같이 작성했을 떄 유저의 권한이 ROOT가 아닌 경구 결과 값을 반환하지 않는다.
다음과 같이 메소드의 반환 결과와 authentication을 비교하는 것도 가능하다.
@PreFilter
@PreAuthorize와 @PostAuthorize가 단수 객체나 필드 값에 대한 authorize를 실행한 반면 filter는 컬렉션과 같이 복수 객체나 필드 값에 대한 authorize를 실행한다.
@PostFilter
김가빈
신입 웹개발자입니다.
팔로우
이전 포스트
JWT를 사용한 인증
다음 포스트
OAUTH2
0개의 댓글
댓글 작성