개발하는 자몽

[Thymeleaf + Spring Security] sec:authorize 본문

Java/Spring

[Thymeleaf + Spring Security] sec:authorize

jaamong 2023. 1. 6. 12:23

스프링 시큐리티 인증을 받은 로그인한 사용자의 정보를 타임리프에서 사용하고 싶을 때 사용한다.

 

공식 문서

 

Thymeleaf + Spring Security integration basics - Thymeleaf

Have you switched to Thymeleaf but your login and error pages are still using JSP? In this article we will see how to configure your Spring application to use Thymeleaf for login and error pages. All the code seen here comes from a working application. You

www.thymeleaf.org

 

 

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 (비로그인 사용자) {
	... //이 경우 보통 로그인이 필요하다고 안내 상자를 보여준다.
}

 

 

 

 

 

참고

 

[Thymeleaf] 타임리프로 화면단에서 사용자 시큐리티 정보 가져오기

스프링 시큐리티 인증을 받은 로그인 한 사용자의 정보를 타임리프에서 사용하고 싶을 때 사용합니다. .gradle 설정 implementation 'org.springframework.boot:spring-boot-starter-security' // 타임리프에서 스프링

cornarong.tistory.com

 

SpringBoot - 6. 스프링 시큐리티 - 로그인 예제

이번에 작업해볼것은 스프링 시큐리티를 이용한 로그인 을해볼려고합니다. 화면단은 타임리프이용할것입니다. 이번에 사용되는권한은 ROLE_MEMBER 권한과 ROLE_ADMIN 권한 관리자와 사용자의 멤버가

memory-develo.tistory.com

Comments