예시 코드
<html xmlns:th="http://www.thymeleaf.org"
xmlns:sec="http://www.thymeleaf.org/extras/spring-security">
<th:block sec:authorize="isAnonymous()">
<li class="nav-item">
<a th:href="@{/common/join}" class="nav-link">회원가입</a>
</li>
<li class="nav-item">
<a th:href="@{/common/login}" class="nav-link">로그인</a>
</li>
</th:block>
<th:block sec:authorize="isAuthenticated()">
<li class="nav-item active">아이디: <span th:text="${#authentication.principal}"></span></li>
<li class="nav-item active">직급: <span th:text="${#authentication.authorities}"></span></li>
<li class="nav-item">
<a th:href="@{/chat/chatList(id=${#authentication.principal})}" class="nav-link">채팅</a>
</li>
<li class="nav-item">
<a th:href="@{/user/updateForm(name=${#authentication.principal})}" class="nav-link">수정하기</a>
</li>
<li class="nav-item">
<form th:action="@{/logout}" method="post">
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}" />
<button type="submit" class="nav-link">로그아웃</button>
</form>
</li>
<li class="nav-item">
<a th:href="@{/user/withdraw(id=${#authentication.principal})}" class="nav-link">탈퇴하기</a>
</li>
</th:block>
<th:block sec:authorize="hasAuthority('ADMIN')">
<li class="nav-item"><a th:href="@{/admin/admIndex}" class="nav-link">관리자 페이지</a></li>
</th:block>
<th:block sec:authorize="hasAuthority('EMP')">
<li class="nav-item"><a th:href="@{/emp/empIndex}" class="nav-link">직원 페이지</a></li>
</th:block>
<th:block sec:authorize="hasAuthority('USER')">
<li class="nav-item"><a th:href="@{/user/userIndex}" class="nav-link">마이 페이지</a></li>
</th:block>
<th:block th:if="${#authentication.principal eq product.id or #authorization.expression('hasAuthority(''ADMIN'')')}">
<a th:href="@{/product/comUpdate(no=${product.no})}" class="btn btn-primary">수정</a>
<a th:href="@{/product/productDelete(no=${product.no})}" class="btn btn-danger">삭제</a>
</th:block>