Spring Security 페이지 권한 처리

최고요·2023년 4월 22일
2

Spring Security V1 

목록 보기
4/9
post-thumbnail

@secured 와 @preauthorize 어노테이션

securityConfig 클래스 내부에 특정 경로에 권한을 주는 방법도 있지만 컨트롤러에
@secured 와 @preauthorize 어노테이션을 사용해서 권한처리를 할 수 있습니다.

먼저 @secured 와 @preauthorize 어노테이션을 사용하려면 securityConfig 클래스에

@EnableGlobalMethodSecurity(securedEnabled = true, prePostEnabled = true) 

@EnableGlobalMethodSecurity 어노테이션을 추가해서
@secured 와 @preauthorize 어노테이션을 활성화시켜줍니다

컨트롤러에 아래와같은 매핑주소로 접근하면 config파일에서 /user , /manager, /admin 외 페이지는 인증없는 사용자도 접근 가능하도록 설정했기 때문에 브라우저에
개인정보라는 글씨와 data라는 글씨가 표시됩니다.




개인정보페이지와 데이터페이지는 인증되지 않은 사용자는 접근할 수 없어야합니다
@secured 와 @preauthorize 어노테이션을 추가해서 해당페이지에 대한 접근권한 처리를 할 수 있습니다

@Secured 어노테이션은 Spring Security의 기본적인 권한 검사 어노테이션 중 하나입니다.
info페이지는 접근자의 권한이 관리자가 아니라면 접근이 제어됩니다.
주로 정적인 검사, 단순한 검사에 사용되고

@PreAuthorize 어노테이션은 메서드 또는 클래스 수준에서 미리 지정된 SpEL(Spring Expression Language) 식을 사용하여 권한 검사를 수행합니다. SpEL을 사용하여 동적으로 권한 검사를 수행할 수 있기 때문에 @PreAuthorize 어노테이션은 @Secured 어노테이션보다 더 유연합니다.

profile
i'm best

0개의 댓글