< pom.xml >
<!-- ์ํ๋ฆฌํฐ ํ๊ทธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-taglibs</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
์์ ์ค์ ์ด ๋ชจ๋ ํ์ด์ง๋ฅผ ์ ๊ถ๋ฒ๋ฆฌ๊ฒ ๋๋ค.
์ฆ, ์ด๋ ๊ฒ ์คํ๋ง ์ํ๋ฆฌํฐ๋ฅผ ์ ์ฉํ๊ณ , Controller์ ๋ฐ๋ก ์ค์ ํ์ง ์์ผ๋ฉด
ํ์ด์ง๊ฐ ๋ชจ๋ ์ด๋ ๊ฒ ๋ซํ๊ฒ ๋๋ค. ์ํ๋ฆฌํฐ ์ค์ ์ผ๋ก ์ธํด ๋ชจ๋ ๋๋ฌธ(?)์ด ๋ซํ๋ฒ๋ฆฐ ๊ฒ์ด๋ค.
๊ธฐ๋ณธ Username์ user์ด๊ณ , ์ฝ์์ ๋ณด๋ฉด ์ด๋ ๊ฒ ๋น๋ฐ๋ฒํธ๋ฅผ ์ค๋ค.
์คํ๋ง ์ํ๋ฆฌํฐ๊ฐ ๊ฐ๋ก์ฑ์ ๋ก๊ทธ์ธ์ด ๊ฐ๋ฅํ๋ค.
์ด๊ฑธ ์
๋ ฅํ๊ณ ๋ก๊ทธ์ธ ํด์ผ์ง ํ์ด์ง์ ๋ค์ด๊ฐ ์ ์๊ฒ ๋๋ค.
์ด๋กท๊ฒ ๋ค์ด์๋ค !!
์ด๋๋ถํฐ๋ session์ด ์๋์ผ๋ก ์๊ธด๋ค.
ํ๊ทธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉํ๊ธฐ!!
๋งจ ์์ pom.xml์ ํ๊ทธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์ ํ ๊ฒ์ ์ฌ์ฉํ๊ธฐ ์ํด์ ์ฌ์ดํธ์ ๋ค์ด๊ฐ์ ์๋ taglib๋ฅผ ๊ฐ์ ธ์จ๋ค.
๊ทธ ๋ค์ header ๋งจ ์์ ๋ฃ์ด์ค๋ค. jstl ์ฒ๋ผ !!
<sec:authorize access="isAuthenticated()">
<sec:authentication property="principal" var="principal"/>
</sec:authorize>
principal ์ด๋ผ๋ var๋ฅผ principal๋ก ๋ง๋ค๊ณ ๋ด๋๋ค. (๋งคํํ๋ค)
๊ทธ๋ฌ๋ฉด principal์ด ๋น์ด์๋์ง ์๋์ง ์ฌ๋ถ๋ก ๋ก๊ทธ์ธ ํ ์ฌ์ฉ์์ ํ์ง ์๋ ์ฌ์ฉ์๋ฅผ ๋ค๋ฅด๊ฒ ๋ณด์ฌ์ค ์ ์๋ค.
<c:choose>
<!--<c:when test="${empty sessionScope.principal}"> ์ด๊ฑฐ ์ง์ฐ๊ณ -->
<c:when test="${empty principal}"> <!--์ด๋ ๊ฒ ๋ณ๊ฒฝ-->
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/loginForm">๋ก๊ทธ์ธ</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/joinForm">ํ์๊ฐ์
</a>
</li>
</ul>
</c:when>
<c:otherwise>
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/board/form">๊ธ์ฐ๊ธฐ</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/user/form">ํ์์ ๋ณด</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/logout">๋ก๊ทธ์์</a>
</li>
</ul>
</c:otherwise>
</c:choose>
์๋กท๊ฒ~!
๋ก๊ทธ์ธ์ form action์ ์ฌ์ฉํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ input ํ๊ทธ ์์ name ๊ฐ์ ์ค์ ํด์ผ ํ๋ค.
ํ์๊ฐ์ ์ฒ๋ผ id๊ฐ ๋ค๊ณ ์์ ์ ์ด์ฟผ๋ฆฌ์์ ํด๋น id๊ฐ ์ฐพ์์ json์ผ๋ก ๋ง๋ค์ด์ ์ ์กํ๋ ๊ฒ์ด ์๋๋ค.