0. Servlet-Context.xml
1. 시큐리티 스키마 추가
xmlns:security="http://www.springframework.org/schema/security"
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security.xsd
2. 어노테이션 활성화
<!-- 스프링 시큐리티 어노테이션 활성화 -->
<!--
pre-post-annotations : PreAuthorize, PostAuthorize 의 사용 유무 지정
secured-annotations : Secured를 사용할 수 있게 됨
-->
<security:global-method-security pre-post-annotations="enabled" secured-annotations="enabled" />
1. 어노테이션 적용
// 요청 URI : /board/register ~ 로그인한 회원만 접근 가능
@PreAuthorize("hasRole('ROLE_MEMBER')")
@GetMapping("/register")
public String register() {
return "board/register";
}
* 어노테이션
| Secured | 스프링 시큐리티 모듈을 지원하기 위한 어노테이션 |
| PreAuthorize | 메서드가 실행되기 전에 적용할 접근 정책을 지정할 때 사용 |
| PostAuthorize | 메서드가 실행된 후에 적용할 접근 정책을 지정할 때 사용 |
* 표현식
| hasRole('ROLE_MEMBER') | ROLE_MEMBER 권한이 있으면 true |
| hasAnyRole('ROLE_MEMBER', 'ROLE_ADMIN') | 여러 권한 중 하나라도 해당하는 권한이 있으면 true |
| principal | 인증된 사용자의 사용자 정보 (UserDetails 인터페이스를 구현한 클래스를 가리킴) |
| authentication | 인증된 사용자의 인증 정보 |
| permitAll | 모든 사용자에게 허용 |
| denyAll | 모든 사용자를 거부 |
| isAnonymouse() | 로그인 하지 않은 경우 true |
| isAuthentication() | 로그인 한 경우 true |
| isFullyAuthenticated() | Remember-me(로그인 저장)로 인증된 경우를 제외한 사용자일 경우에만 true |
'Java > Spring Framework' 카테고리의 다른 글
| [Spring Framework] 스프링 시큐리티에서 동시 접속 제한하기 (0) | 2023.02.17 |
|---|---|
| [Spring Framework] 스프링 시큐리티 적용 후 서버에서 회원 정보 확인하기 (0) | 2023.02.15 |
| [Spring Framework] 시큐리티 설정 정리 (0) | 2023.02.15 |
| [Spring Framework] 스프링 시큐리티 자동 로그인 (0) | 2023.02.14 |
| [Spring Framework] 스프링 시큐리티 태그 라이브러리 (0) | 2023.02.14 |