스프링부트 + thymeleaf 샘플페이지에서 로그인 정보 관련
- 작성자 :
- 스**어
- 작성일 :
- 2024-09-11 14:39:45
- 조회수 :
- 91
- 구분 :
- 개발환경 / 4.2
- 진행상태 :
- 완료
Q
4.2버전으로 Boot Web Project를 생성했습니다.
1. pom.xml 에 스프링시큐리티, thymeleaf-extras-springsecurity5 를 아래와 같이 추가했습니다.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.thymeleaf.extras/thymeleaf-extras-springsecurity5 -->
<!-- thymeleaf-security -->
<dependency>
<groupId>org.thymeleaf.extras</groupId>
<artifactId>thymeleaf-extras-springsecurity5</artifactId>
</dependency>
2. egovSampleList.html 에 로그인 아이디를 가져오기 위해 <span th:text="${#authentication.principal.username}"></span> 코드를 추가 했습니다.
3. 아무런 추가 설정없이 실행 -> 아이디: user, 비밀번호 : 자체 생성 비밀번호 로 로그인
4. EgovSampleController 에서 로그를 확인하면 실제 로그인은 정상적으로 처리되어 authentication 정보가 있습니다만
thymeleaf 쪽에서는 아래와 같은 오류가 발생합니다.
-- 로그인 정보
## authentication :: UsernamePasswordAuthenticationToken [Principal=org.springframework.security.core.userdetails.User [Username=user, Password=[PROTECTED], Enabled=true,
-- thymeleaf 오류
Exception processing template "egovSampleList": Exception evaluating SpringEL expression: "#authentication.principal.username" (template: "egovSampleList" - line 77, col 12)
4.2 스프링부트 + thymeleaf + 스프링시큐리티를 연동할 경우 thymeleaf 에서 로그인정보를 가져올 수 있는 방법이 있을까요.
1. pom.xml 에 스프링시큐리티, thymeleaf-extras-springsecurity5 를 아래와 같이 추가했습니다.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.thymeleaf.extras/thymeleaf-extras-springsecurity5 -->
<!-- thymeleaf-security -->
<dependency>
<groupId>org.thymeleaf.extras</groupId>
<artifactId>thymeleaf-extras-springsecurity5</artifactId>
</dependency>
2. egovSampleList.html 에 로그인 아이디를 가져오기 위해 <span th:text="${#authentication.principal.username}"></span> 코드를 추가 했습니다.
3. 아무런 추가 설정없이 실행 -> 아이디: user, 비밀번호 : 자체 생성 비밀번호 로 로그인
4. EgovSampleController 에서 로그를 확인하면 실제 로그인은 정상적으로 처리되어 authentication 정보가 있습니다만
thymeleaf 쪽에서는 아래와 같은 오류가 발생합니다.
-- 로그인 정보
## authentication :: UsernamePasswordAuthenticationToken [Principal=org.springframework.security.core.userdetails.User [Username=user, Password=[PROTECTED], Enabled=true,
-- thymeleaf 오류
Exception processing template "egovSampleList": Exception evaluating SpringEL expression: "#authentication.principal.username" (template: "egovSampleList" - line 77, col 12)
4.2 스프링부트 + thymeleaf + 스프링시큐리티를 연동할 경우 thymeleaf 에서 로그인정보를 가져올 수 있는 방법이 있을까요.
환경정보
-
- OS 정보 : 리눅스
- 표준프레임워크 버전 : 4.2
- JDK(JRE) 정보 : 1.8
- WAS 정보 : tomcat9
- DB 정보 : mysql
- 기타 환경 정보 :
A
안녕하세요.
표준프레임워크센터입니다.
Thymeleaf 에서 Spring Security 정보를 가져오는 경우
아래 Thymeleaf 공식문서를 참고하여 구성하시기 바랍니다.
https://www.thymeleaf.org/doc/articles/springsecurity.html
또한, Thymeleaf의 Github에서 예제를 확인할 수 있으니
참고하시기 바랍니다.
https://github.com/thymeleaf/thymeleaf-extras-springsecurity
감사합니다.
표준프레임워크센터입니다.
Thymeleaf 에서 Spring Security 정보를 가져오는 경우
아래 Thymeleaf 공식문서를 참고하여 구성하시기 바랍니다.
https://www.thymeleaf.org/doc/articles/springsecurity.html
또한, Thymeleaf의 Github에서 예제를 확인할 수 있으니
참고하시기 바랍니다.
https://github.com/thymeleaf/thymeleaf-extras-springsecurity
감사합니다.