728x90
스프링 시큐리티 로그인 정보 출력
스프링 시큐리티는 아이디하고 권한만 세션에 저장됩니다.
(비밀번호는 null로 출력됨)
첫 번째 방법
th:text="${#authentication.name}"
[[${#authentication.name}]]
<!--아이디-->
<p th:text="${#authentication.name}"></p>
<!--[ROLE_USER] or [ROLE_ANONYMOUS]-->
<p th:text="${#authentication.authorities}"></p>
<!--인증여부 true false-->
<p th:text="${#authentication.authenticated}"></p>
두 번째 방법
sec:authentication="출력할거"
<!--모든 정보-->
<div sec:authorize="isAuthenticated()" sec:authentication="principal"></div>
<!--아이디-->
<div sec:authorize="isAuthenticated()" sec:authentication="name"></div>
<!--권한 정보-->
<div sec:authorize="isAuthenticated()" sec:authentication="principal.authorities"></div>
인증 여부에 따라 보이기&숨기기
sec:authorize="isAnonymous()"
: 인증되지 않은(로그인 안 한) 사용자에게 보임
sec:authorize="isAuthenticated()"
: 인증된(로그인 한) 사용자에게 보임
<button sec:authorize="isAnonymous()" type="button" onclick="location.href='/admin/loginView'">로그인</button>
<button sec:authorize="isAuthenticated()" type="button" onclick="location.href='/admin/logout'">로그아웃</button>
권한 여부에 따라 보이기&숨기기
sec:authorize="hasRole('권한명')"
: 해당 권한에 해당하는 사람만 보이게
sec:authorize="hasAnyRole('권한명1', '권한명2')"
: 권한이 여러 개일 경우
<!-- ROLE_ADMIN 권한을 가지고 있다면 보임 -->
<div sec:authorize="hasRole('ROLE_ADMIN')">ROLE_ADMIN 권한이 있습니다.</div>
<!-- ROLE_ADMIN 혹은 ROLE_SUB_ADMIN 권한을 가지고 있다면 보임 -->
<div sec:authorize="hasAnyRole('ROLE_ADMIN', 'ROLE_MANAGER')">ROLE_ADMIN 혹은 ROLE_MANAGER 권한이 있습니다.</div>
728x90