선언
<html xmlns:th="http://www.thymeleaf.org"
xmlns:sec="http://www.thymeleaf.org/extras/spring-security">
HTML
복사
html태그에 선언해두어야 sec 태그를 사용할 수 있다.
명령어들
hasRole('ROLE_ADMIN') | 해당 권한이 있을 경우 |
hasAnyRole('ROLE_ADMIN,'ROLE_USER') | 포함된 권한 중 하나라도 있을 경우 |
isAuthenticated() | 권한에 관계없이 로그인 인증을 받은 경우 |
isFullyAuthenticated() | 권한에 관계없이 인증에 성공했고, 자동 로그인이 비활성인 경우 |
isAnonymous() | 권한이 없는 익명의 사용자일 경우 |
isRememberMe() | 자동 로그인을 사용하는 경우 |
permitAll | 모든 경우 출력함 |
denyAll | 모든 경우 출력하지 않음 |
다음과 같은 명령어 들이 있다.
실제 사용 모습
<html xmlns:th="http://www.thymeleaf.org"
xmlns:sec="http://www.thymeleaf.org/extras/spring-security">
<head>
<meta charset="UTF-8">
<title>메인</title>
</head>
<body>
<h1>메인페이지</h1>
<hr>
<a sec:authorize="isAnonymous()" href="/user/loginPage">로그인</a>
<a sec:authorize="isAuthenticated()" href="/user/logout">로그아웃</a>
<a sec:authorize="isAnonymous()" href="/user/signup">회원가입</a>
<a sec:authorize="hasAuthority('ADMIN') or hasAuthority('USER')" href="/user/info">내정보</a><br>
<a sec:authorize="hasAuthority('ADMIN')" href="/user/admin">admin</a><br>
</body>
</html>
HTML
복사
•
isAnonymous() 로 로그인을 하지 않은 사용자는 로그인 버튼을 볼수 있다.
•
isAuthenticated() 로그인한 사용자는 로그아웃 버튼이 보인다.
•
hasAuthority(’ADMIN’) 로 ADMIN 권한이 없다면 볼수 없다.
이제 권한 대로 출력되는 화면을 볼수 있다.