Thymeleaf 화면에서 스프링 시큐리티 사용
인증된 사용자 정보를 화면에 표시하거나 인가 정보에 따라 화면 표시를 제어하는 것처럼 스프링 시큐리티로 다루는 정보를 Thymeleaf 화면에서 다룰 수 있게 하는 연계 기능이 존재한다.
pom.xml파일에 의존 관계 추가
...
<dependency>
<groupId>org.thymeleaf.extras</groupId>
<artifactId>thymeleaf-extras-springsecurity3</artifactId>
</dependency>
spring-boot-starter-parent를 통해 thymeleaf-extras-springsecurity3의 버전이 관리되므로 <version>을 지정하지 않아도 된다.
사용방법은 다음과 같다.
<html xmlns:th="http://www.thymeleaf.org"
xmlns:sec="http://www.thymeleaf.org/extras/spring-security">
Thymeleaf와 스프링 시큐리티 연계 기능을 위한 이름 공간을 설정한다. 설정하지 않아도 동작하지만 설정하지 않으면 IDE에 경고가 표신된다.
<p>
<span sec:authentication="principal.user.username">demo</span>님이 로그인 상태
</p>
sec:authentication속성으로 인증된 사용자 정보에 접근할 수 있다.
principal속성으로 UserDetails 객체에 접근할 수 있으므로 principal.user.username을 참조하면 로그인된 사용자를 알 수 있다.
'프로그래밍 > Thymeleaf' 카테고리의 다른 글
Thymeleaf disabled, checked 사용법. (1) | 2020.01.22 |
---|---|
Thymleaf th:href속성 정의 방법 (0) | 2019.12.20 |
Thymeleaf th:field 속성과 th:errorclass 속성 (0) | 2019.04.20 |
Thymeleaf : javascript 함수 호출 방법 (0) | 2019.04.01 |