Notice
Recent Posts
Link
Tags
- 프로그래머스
- @transactional
- 스프링
- jpa
- DI
- mysql
- SSL
- session
- string
- spring
- 문자열
- AWS
- ORM
- Django
- springboot
- spring mvc
- spring security 6
- 1차원 배열
- sql
- join
- 스프링부트
- select
- Docker
- 데이터베이스
- Git
- nginx
- java
- PYTHON
- spring boot
- 자바
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Archives
개발하는 자몽
[Thymeleaf + Spring Security] sec:authorize 본문
스프링 시큐리티 인증을 받은 로그인한 사용자의 정보를 타임리프에서 사용하고 싶을 때 사용한다.
공식 문서
build.gradle 설정
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity6:3.1.1.RELEASE'
아래가 타임리프에서 스프링 시큐리티의 문법이나 형식을 지원하는 확장팩 라이브러리이다. 버전은 본인 환경에 호환되는 것으로 맞춘다.
네임 스페이스 등록
<html xmlns:th="http://www.thymeleaf.org"
xmlns:sec="http://www.thymeleaf.org/extras/spring-security">
프로젝트에서 사용한 코드
권한이 있는 사용자인지 확인
sec:authorize="isAuthenticated()"
비로그인 사용자인지 확인
sec:authorize="isAnonymouse()"
위에 두 코드는 아래의 자바 코드와 같다고 볼 수 있지 않을까?
if (권한이 있는 사용자) {
... //로그인한 사용자만 할 수 있는 로직 Ex. 댓글 달기
}
if (비로그인 사용자) {
... //이 경우 보통 로그인이 필요하다고 안내 상자를 보여준다.
}
참고
'Java > Spring' 카테고리의 다른 글
[JPA Error] FetchType.LAZY로 인한 오류 : Type definition error (0) | 2023.02.13 |
---|---|
[JPA Error] save할 때 @ManyToOne 필드가 null인 현상 (0) | 2023.01.07 |
[Spring Security] @PreAuthorize (0) | 2023.01.05 |
[Spring Security] GrantedAuthority, SimpleGrantedAuthority (0) | 2023.01.04 |
[Spring Security] UserDetails, UserDetailsService (0) | 2023.01.03 |
Comments