방명록
- [SSR] Thymeleaf에서 Spring Security 사용하기(thymeleaf-extras-springsecurity6)2024년 10월 01일 16시 55분 02초에 업로드 된 글입니다.작성자: 이주여이
만들고 싶은 거 있을 때 마다 적용할테니 짤막하게 사용 방법만..
사용 전 build.gradle에 thymeleaf-extras-springsecurity6 라이브러리를 추가해줘야 한다.
나는 start.spring.io에서 처음에 프로젝트 생성 시 Spring Security를 선택해놔서 있긴한데 없으면 추가하자.
dependencies { implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity6' }
html에서 사용할 때는 아래와 같이
xmlns:sec="http://www.thymeleaf.org/extras/spring-security"
부분이 있어야 한다.<html lang="en" xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/extras/spring-security" th:fragment="nav">
내가 자주 사용하는 속성은 아래 3개이다.
<th:block sec:authorize="hasRole('ADMIN')"> <!-- 로그인한 계정의 권한이 ADMIN일 경우 해당 메뉴 노출 --> <a th:href="@{/board/list(code='B007')}">ADMIN</a> </th:block> <th:block sec:authorize="isAnonymous()"> <!-- 익명 계정일 경우 로그인 버튼 출력 --> <a th:href="@{/login}">LOGIN</a> </th:block> <th:block sec:authorize="isAuthenticated()"> <!-- 권한 관계없이 인증 완료 후 로그아웃 버튼 출력 --> <a th:href="@{/logout}">LOGOUT</a> </th:block>
이제 로컬에서 테스트 해본다.
DB에 관리자 계정의 권한을 먼저 확인한다.
권한만 확인하자.(참고로 1이 아이디는 아니다)
아래 사진은 로그인 하기 전이다.
로그인을 하고 나면 ① 권한 관계없이 인증이 완료되었으므로 ‘LOGIN’ 메뉴가 아닌 ‘LOGOUT’으로 바뀌어져 있으며 ② 로그인한 계정의 권한이 ‘ADMIN’이므로 ‘ADMIN’ 메뉴가 노출된 것을 확인할 수 있다.
참고 레퍼런스
'Study > SSR' 카테고리의 다른 글
[SSR] SimpleMDE 적용하기 (0) 2024.09.18 다음글이 없습니다.이전글이 없습니다.댓글