본문 바로가기
프로그래밍/Thymeleaf

Thymeleaf 화면에서 스프링 시큐리티 사용

by Mr-후 2019. 4. 25.
반응형

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을 참조하면 로그인된 사용자를 알 수 있다. 


반응형