04.Login
Login
Cookie
์ํ ์ ์ง
HTTP ์๋ต์ ์ฟ ํค๋ฅผ ๋ด์์ ๋ธ๋ผ์ฐ์ ์ ์ ๋ฌ
์ดํ ๋ธ๋ผ์ฐ์ ๋ ํด๋น ์ฟ ํค๋ฅผ ์ง์ํด์ ์ ์ก
์ฟ ํค ์์ฑ
์ฟ ํค ์์ฑ

์ฟ ํค ์ ๋ฌ

์์ ์ฟ ํค์ ์ธ์ ์ฟ ํค
์์ ์ฟ ํค: ๋ง๋ฃ ๋ ์ง๋ฅผ ์ ๋ ฅํ๋ฉดํด๋น ๋ ์ง๊น์ง์ ์ง์ธ์ ์ฟ ํค: ๋ง๋ฃ ๋ ์ง๋ฅผ ์๋ตํ๋ฉด๋ธ๋ผ์ฐ์ ์ข ๋ฃ์ ๊น์ง๋ง ์ ์ง
์์ฒญ์ด์ ์ฑ๊ณตํ๋ฉด ์ฟ ํค๋ฅผ ์์ฑํ๊ณ HttpServletResponse ์ ๋ด๊ธฐ
๋ง๋ฃ ๋ ์ง๋ฅผ ์๋ต(์ธ์ ์ฟ ํค)ํ์์ผ๋ฏ๋ก ์น ๋ธ๋ผ์ฐ์ ๋ ์ข ๋ฃ ์ ๊น์ง ํ์์ id ๋ฅผ ์๋ฒ์ ๊ณ์ ์ ๋ฌ
์ฟ ํค ์กฐํ
@CookieValue๋ฅผ ์ฌ์ฉํ๋ฉด ํธ๋ฆฌํ๊ฒ ์ฟ ํค ์กฐํ์ฟ ํค๊ฐ ์๋ ์์ฒญ๋ ์ ๊ทผํ ์ ์์ผ๋ฏ๋ก,
required = false์ ์ฉ
์ฟ ํค ์ ๊ฑฐ
์๋ต ์ฟ ํค ์์ฑ ์
Max-Age: 0์ผ๋ก ์ค์ ํด ์ฃผ๋ฉด ํด๋น ์ฟ ํค๋ ์ฆ์ ์ข ๋ฃ
๋ณด์ ๋ฌธ์
์ฟ ํค ๊ฐ์ ์์๋ก ๋ณ๊ฒฝ ๊ฐ๋ฅ
ํด๋ผ์ด์ธํธ๊ฐ ์ฟ ํค๋ฅผ ๊ฐ์ ๋ก ๋ณ๊ฒฝ ๊ฐ๋ฅ.
์ฟ ํค์ ๋ณด๊ด๋ ์ ๋ณด๋ ๋๋ ๊ฐ๋ฅ
์ฟ ํค์ ๋ฏผ๊ฐํ ์ ๋ณด๊ฐ ์๋ค๋ฉด, ์ด ์ ๋ณด๊ฐ ์น ๋ธ๋ผ์ฐ์ ์๋ ๋ณด๊ด๋๊ณ , ๋คํธ์ํฌ ์์ฒญ๋ง๋ค ๊ณ์ ํด๋ผ์ด์ธํธ์์ ์๋ฒ๋ก ์ ๋ฌ๋์ด ๋๋ ๊ฐ๋ฅ์ฑ ์กด์ฌ.
ํด์ปค๊ฐ ์ฟ ํค๋ฅผ ํ๋ฒ ํ์ณ๊ฐ๋ฉด ํ์ ์ฌ์ฉ ๊ฐ๋ฅ
ํด์ปค๊ฐ ์ฟ ํค๋ฅผ ํ์ณ๊ฐ์ ๊ทธ ์ฟ ํค๋ก ์ ์์ ์ธ ์์ฒญ์ ๊ณ์ ์๋ํ ์ ์์.
๋์
์ฌ์ฉ์ ๋ณ๋ก ์์ธก ๋ถ๊ฐ๋ฅํ
์์์ ํ ํฐ์์๋ฒ์์ ๊ด๋ฆฌ์๋ฒ์์ ํ ํฐ๊ณผ ์ฌ์ฉ์ id๋ฅผ ๋งคํํด์ ์ธ์
ํด์ปค๊ฐ ์์์ ๊ฐ์ ๋ฃ์ด๋ ์ฐพ์ ์ ์๋๋ก
ํ ํฐ์ ์์ ๋ถ๊ฐ๋ฅํด์ผ ํจUUID ์ฌ์ฉ
ํด์ปค๊ฐ ํ ํฐ ์ ๋ณด๋ฅผ ๊ฐ์ ธ๊ฐ๋ ์๊ฐ์ด ์ง๋๋ฉด ์ฌ์ฉํ ์ ์๋๋ก ์๋ฒ์์ ํด๋น ํ ํฐ์
๋ง๋ฃ์๊ฐ์ ์งง๊ฒ ์ ์งํดํน์ด ์์ฌ๋๋ ๊ฒฝ์ฐ ์๋ฒ์์ ํด๋น ํ ํฐ์ ๊ฐ์ ๋ก ์ ๊ฑฐ
Session
์๋ฒ์ ์ค์ํ ์ ๋ณด๋ฅผ ๋ณด๊ดํ๊ณ ์ฐ๊ฒฐ์ ์ ์งํ๋ ๋ฐฉ๋ฒ
์๋ฒ์ ์ธ์ ์ ์ฅ์์ ์ค์ํ ์ ๋ณด๋ฅผ ๋ณด๊ดํ๊ณ ํด๋น ์ ๋ณด๋ฅผ ํ ํฐ์ผ๋ก ๋ณํ ํ ์ฟ ํค๋ก ์ฐ๊ฒฐ์ ์ ์ง
๋ก๊ทธ์ธ ์์ฒญ
์ฌ์ฉ์ ์ ๋ณด๊ฐ ์๋ฒ๋ก ์ ๋ฌ๋๋ฉด ์ฌ๋ฐ๋ฅธ ์ ๋ณด์ธ์ง ํ์ธ

์ธ์ ์์ฑ
์ถ์ ๋ถ๊ฐ๋ฅํ
UUID๋ก session ID ์์ฑ์ธ์ ์ ์ฅ์์ ์์ฑ๋session ID์ ๋ณด๊ดํ ๊ฐ(์ฌ์ฉ์ ๊ธฐ๋ณธ ์ ๋ณด) ์ ์ฅ

์๋ฒ์ ์ธ์ ID ์ฟ ํค ์๋ต
์๋ฒ๋ ํด๋ผ์ด์ธํธ์
UUID Session ID๋ก ์๋ต ์ฟ ํค๋ฅผ ์์ฑํด์ ์ ๋ฌํด๋ผ์ด์ธํธ์ ์๋ฒ๋ ๊ฒฐ๊ตญ ์ฟ ํค๋ก ์ฐ๊ฒฐ
ํด๋ผ์ด์ธํธ๋ ์ฟ ํค ์ ์ฅ์์ UUID Session ID ์ฟ ํค ๋ณด๊ด

ํด๋ผ์ด์ธํธ์ ์ธ์ ID ์ฟ ํค ์ ๋ฌ
ํด๋ผ์ด์ธํธ๋ ์์ฒญ ์ ํญ์ Session ID ์ฟ ํค๋ฅผ ํจ๊ป ์ ๋ฌ
์๋ฒ๋ ํด๋ผ์ด์ธํธ๊ฐ ์ ๋ฌํ Session ID ์ฟ ํค ์ ๋ณด๋ก ์ธ์ ์ ์ฅ์๋ฅผ ์กฐํํด์ ๋ก๊ทธ์ธ ์ ๋ณด๊ดํ ์ธ์ ์ ๋ณด๋ฅผ ์ฌ์ฉ

URL์ jsessionid ๋ฅผ ํฌํจํ์ง ์๊ณ ์ฟ ํค๋ฅผ ํตํด์๋ง ์ธ์ ์ ์ ์งํ ๊ฒฝ์ฐ ์๋ ์ต์ ์ถ๊ฐ
HttpSession
์๋ธ๋ฆฟ์ ์ธ์ ์ ์ํด HttpSession ๊ธฐ๋ฅ ์ ๊ณต
์๋ธ๋ฆฟ์ ํตํด HttpSession ์์ฑ ์ ์๋์ ๊ฐ์ ์ฟ ํค ์์ฑ
์ธ์
์์ฑ
Session ์ ๋ณด๋ ์๋ฒ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ
request.getSession(true): default์ธ์ ์ด ์์ผ๋ฉด ๊ธฐ์กด ์ธ์ ๋ฐํ
์ธ์ ์ด ์์ผ๋ฉด ์๋ก์ด ์ธ์ ์ ์์ฑํด์ ๋ฐํ
request.getSession(false)์ธ์ ์ด ์์ผ๋ฉด ๊ธฐ์กด ์ธ์ ๋ฐํ
์ธ์ ์ด ์์ผ๋ฉด ์๋ก์ด ์ธ์ ์ ์์ฑํ์ง ์๊ณ , null ๋ฐํ
์ธ์
์กฐํ
์คํ๋ง์ ์ธ์
์ ๋ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก @SessionAttribute ์ง์
์ธ์ ๊ณผ ์ธ์ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๋ ๋ฒ๊ฑฐ๋ก์ด ๊ณผ์ ์ ์คํ๋ง์ด ํ๋ฒ์ ์ฒ๋ฆฌ
์ธ์
์ ๊ฑฐ
์ธ์
์ ๋ณด
์ธ์
ํ์์์
์ฌ์ฉ์๊ฐ ๋ก๊ทธ์์์ ์ง์ ํธ์ถํ์ง ์๊ณ ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ์ข ๋ฃํ ๊ฒฝ์ฐ ์ธ์ ์ด ๋ฌดํ์ ๋จ์์๋ ๋ฌธ์ ๋ฐ์
์ธ์ ๊ณผ ๊ด๋ จ๋ ์ฟ ํค(JSESSIONID)๋ฅผ ํ์ทจ ๋นํ์ ๊ฒฝ์ฐ ์ค๋ ์๊ฐ์ด ์ง๋๋ ํด๋น ์ฟ ํค๋ก ์ ์์ ์ธ ์์ฒญ์ ํ ์ ์์.
์ธ์ ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ์ ์์ฑ
๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ๊ฐ ๋ฌดํํ์ง ์์ผ๋ฏ๋ก
์ธ์ ์๋ ์ต์ํ์ ๋ฐ์ดํฐ๋ง ๋ณด๊ดํ๋ ๊ฒ์ด ์ค์๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋(๋ณด๊ดํ ๋ฐ์ดํฐ ์ฉ๋ * ์ฌ์ฉ์ ์)์ด ๊ธ๊ฒฉํ๊ฒ ๋์ด๋ ์ฅ์ ๋ฐ์ ๊ฐ๋ฅ์ฑ ์กด์ฌ์ธ์ ์๊ฐ์ ๋๋ฌด ๊ธธ๊ฒ ๊ฐ์ ธ๊ฐ๋ฉด ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ด ๊ณ์ ๋์ ๋ ์ ์์ผ๋ฏ๋ก ์ ๋นํ ์๊ฐ์ ์ ํํ๋ ๊ฒ์ด ํ์
์ธ์ ์ข ๋ฃ ์์
์ฌ์ฉ์๊ฐ ์๋ฒ์ ์ต๊ทผ์ ์์ฒญํ ์๊ฐ์ ๊ธฐ์ค์ผ๋ก 30๋ถ ์ ๋๋ฅผ ์ ์ง
์ฌ์ฉ์๊ฐ ์๋น์ค๋ฅผ ์ฌ์ฉํ๊ณ ์์ผ๋ฉด, ์ธ์ ์ ์์กด ์๊ฐ์ด 30๋ถ์ผ๋ก ๊ณ์ ์ฆ๊ฐ
HttpSession ์ ์ด ๋ฐฉ์์ ์ฌ์ฉ
์ธ์ ํ์์์ ์ค์
๊ธ๋ก๋ฒ ์ค์
ํน์ ์ธ์ ๋จ์ ์ค์
์ธ์ ํ์์์ ๋ฐ์
์ธ์ ์ ํ์์์ ์๊ฐ์ ํด๋น ์ธ์ ๊ณผ ๊ด๋ จ๋ JSESSIONID ๋ฅผ ์ ๋ฌํ๋ HTTP ์์ฒญ์ด ์์ผ๋ฉด ํ์ฌ ์๊ฐ์ ๊ธฐ์ค์ผ๋ก ๋ค์ ์ด๊ธฐํ
์ด๋ ๊ฒ ์ด๊ธฐํ๋๋ฉด ์ธ์ ํ์์์์ผ๋ก ์ค์ ํ ์๊ฐ๋์ ์ธ์ ์ ์ถ๊ฐ๋ก ์ฌ์ฉ ๊ฐ๋ฅ
session.getLastAccessedTime(): ์ต๊ทผ ์ธ์ ์ ๊ทผ ์๊ฐ
LastAccessedTime ์ดํ๋ก timeout ์๊ฐ์ด ์ง๋๋ฉด, WAS ๊ฐ ๋ด๋ถ์์ ํด๋น ์ธ์ ์ ๊ฑฐ
Filter, Interceptor
๊ณตํต ๊ด์ฌ์ฌ(cross-cutting concern): ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ๋ฌ ๋ก์ง์์ ๊ณตํต์ผ๋ก ๊ด์ฌ์ ๊ฐ๋ ๊ฒ
ex. ์ฌ๋ฌ ์ปจํธ๋กค๋ฌ์์ ๋ก๊ทธ์ธ ์ฌ๋ถ ํ์ธ
์น๊ณผ ๊ด๋ จ๋ ๊ณตํต ๊ด์ฌ์ฌ๋
์๋ธ๋ฆฟ ํํฐ๋๋์คํ๋ง ์ธํฐ์ ํฐ์ฌ์ฉ ๊ถ์ฅHttpServletRequest์ ๊ณต (HTTP header, URL ์ ๋ณด ๋ฑ..)
Servlet Filter
ํํฐ๋ ์๋ธ๋ฆฟ์ด ์ง์ํ๋ ์๋ฌธ์ฅ.
.
ํํฐ ํ๋ฆ
HTTP Request โ WAS โ filter โ (dispatcher)Servlet โ Controller
ํํฐ๋ฅผ ์ ์ฉํ๋ฉด
ํํฐ ํธ์ถ ์ดํ ์๋ธ๋ฆฟ ํธ์ถํํฐ์์ ์ ์ ํ์ง ์์ ์์ฒญ์ผ๋ก ํ๋จ๋๋ฉด ์๋ธ๋ฆฟ์ ํธ์ถํ์ง ์์
๋ชจ๋ ๊ณ ๊ฐ์ ์์ฒญ ๋ก๊ทธ๋ฅผ ๋จ๊ธฐ๋ ค๋ฉด ํํฐ๋ฅผ ์ฌ์ฉํด ๋ณด์
ํํฐ๋ ํน์ URL ํจํด์ ์ ์ฉ ๊ฐ๋ฅ โ
/*์ค์ ์ ๋ชจ๋ ์์ฒญ์ ํํฐ ์ ์ฉํํฐ๋ ์ฒด์ธ์ผ๋ก ๊ตฌ์ฑ๋์ด ์ฌ๋ฌ ํํฐ๋ก ๊ตฌ์ฑ ๊ฐ๋ฅ
.
Filter Interface
ํํฐ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํ/๋ฑ๋กํ๋ฉด ์๋ธ๋ฆฟ ์ปจํ ์ด๋๊ฐ ํํฐ๋ฅผ ์ฑ๊ธํค ๊ฐ์ฒด๋ก ์์ฑ/๊ด๋ฆฌ
init(): ํํฐ ์ด๊ธฐํ ๋ฉ์๋ โ ์๋ธ๋ฆฟ ์ปจํ ์ด๋๊ฐ ์์ฑ๋ ๋ ํธ์ถdoFilter(): ๊ณ ๊ฐ์ ์์ฒญ์ด ์ฌ ๋๋ง๋ค ํธ์ถ(ํํฐ ๋ก์ง ๊ตฌํ)destroy(): ํํฐ ์ข ๋ฃ ๋ฉ์๋ โ ์๋ธ๋ฆฟ ์ปจํ ์ด๋๊ฐ ์ข ๋ฃ๋ ๋ ํธ์ถ
์์ฒญ ๋ก๊ทธ
๋ก๊ทธ ํํฐ ๊ตฌํ
ํํฐ ์ฌ์ฉ์ ์ํด ํํฐ ์ธํฐํ์ด์ค ๊ตฌํ
ํํฐ ์ค์
์คํ ๋ก๊ทธ
์ฐธ๊ณ
Spring logback mdc (HTTP ์์ฒญ ๋ก๊ทธ์ ๊ฐ ์์ฒญ์๋ณ ์๋ณ์๋ฅผ ์๋์ผ๋ก ๋จ๊ธฐ๊ธฐ)
์ธ์ฆ ์ฒดํฌ
๋ก๊ทธ์ธ ์ฒดํฌ ํํฐ ๊ตฌํ
ํํฐ ์ค์
๋ก๊ทธ์ธ ์ฑ๊ณต ์ ์ฒ๋ฆฌ
.
์ฐธ๊ณ .
์คํ๋ง ์ธํฐ์ ํฐ์์๋ ์ ๊ณตํ์ง ์๋ ํํฐ์ ๊ฐ๋ ฅํ ๊ธฐ๋ฅ
chain.doFilter(request, response);๋ฅผ ํธ์ถํด์ ๋ค์ ํํฐ ๋๋ ์๋ธ๋ฆฟ์ ํธ์ถํ ๋ request, response ๋ฅผ ๋ค๋ฅธ ๊ฐ์ฒด๋ก ๋ณ๊ฒฝ ๊ฐ๋ฅ
ServletRequest,ServletResponse๋ฅผ ๊ตฌํํ ๋ค๋ฅธ ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด์ ๋๊ธฐ๋ฉด ํด๋น ๊ฐ์ฒด๊ฐ ๋ค์ ํํฐ ๋๋ ์๋ธ๋ฆฟ์์ ์ฌ์ฉ
์คํ๋ง ์ธํฐ์
ํฐ ๐
์๋ธ๋ฆฟ๊ณผ ๋์ผํ๊ฒ ์น ๊ด๋ จ ๊ณตํต ๊ด์ฌ์ฌํญ์ ํด๊ฒฐํ๋ ๊ธฐ์
Spring MVC ๊ตฌ์กฐ์ ํนํ๋ ํํฐ ๊ธฐ๋ฅ์ ์ ๊ณต
ํน๋ณํ ํํฐ๋ฅผ ์ฌ์ฉํด์ผ ํ๋ ๊ฒ์ด ์๋๋ผ๋ฉด ์คํ๋ง ์ธํฐ์ ํฐ ์ฌ์ฉ ๊ถ์ฅ
์๋ธ๋ฆฟ ํํฐ๋ณด๋ค ํธ๋ฆฌํ๊ณ , ๋ ์ ๊ตํ๊ณ , ๋ค์ํ ๊ธฐ๋ฅ์ ์ง์
ํํฐ์ ์ ์ฉ ์์์ ๋ฒ์, ์ฌ์ฉ๋ฒ์ ์ฐจ์ด
.
์ธํฐ์ ํฐ ํ๋ฆ
HTTP Request โ WAS โ Filter โ Dispatcher Servlet โ Spring Interceptor โ Controller
Dispatcher Servlet ๊ณผ Controller ์ฌ์ด์ ํธ์ถ
์คํ๋ง ์ธํฐ์ ํฐ์์ ์ ์ ํ์ง ์์ ์์ฒญ์ผ๋ก ํ๋จ๋๋ฉด ์ปจํธ๋กค๋ฌ๋ฅผ ํธ์ถํ์ง ์์
์ ๋ฐํ URL ํจํด ์ ์ฉ ๊ฐ๋ฅ

.
์ธํฐ์ ํฐ ์ธํฐํ์ด์ค
preHandle(): Controller ํธ์ถ ์ ํธ์ถ(Handler Adapter ํธ์ถ ์ )return true โ ๋ค์์ผ๋ก ์งํ
return false โ ์งํ ์ค๋จ(๋๋จธ์ง ์ธํฐ์ ํฐ, ํธ๋ค๋ฌ ์ด๋ํฐ ํธ์ถ X)
postHandle(): Controller ํธ์ถ ํ ํธ์ถ(Handler Adapter ํธ์ถ ํ)Controller ์์
์์ธ ๋ฐ์ ์postHandleํธ์ถ X
afterCompletion(): HTTP ์์ฒญ ์ข ๋ฃ ํ ํธ์ถ(View rendering ํ)์์ธ ์ฌ๋ถ์ ๊ด๊ณ์์ด
ํญ์ ํธ์ถ์์ธ ๋ฐ์ ์ ์์ธ ์ ๋ณด๋ฅผ ํ๋ผ๋ฏธํฐ๋ก ๋ฐ์์ ๋ก๊ทธ ์ถ๋ ฅ ๊ฐ๋ฅ
์์ฒญ ๋ก๊ทธ
์์ฒญ ๋ก๊ทธ ์ธํฐ์ ํฐ ๊ตฌํ
HandlerMethod:
ํธ๋ค๋ฌ ์ ๋ณด๋ ์ด๋ค ํธ๋ค๋ฌ ๋งคํ์ ์ฌ์ฉํ๋๊ฐ์ ๋ฐ๋ผ ๋ค๋ฆ
์คํ๋ง์ ์ฌ์ฉํ๋ฉด ์ผ๋ฐ์ ์ผ๋ก @Controller, @RequestMapping ์ ํ์ฉํ ํธ๋ค๋ฌ ๋งคํ์ ์ฌ์ฉ
์ด ๊ฒฝ์ฐ ํธ๋ค๋ฌ ์ ๋ณด๋ก HandlerMethod ๊ฐ ๋์ด์จ๋ค.
ResourceHttpRequestHandler
@Controller ๊ฐ ์๋๋ผ ์ ์ ๋ฆฌ์์ค(/resources/static)๊ฐ ํธ์ถ ๋๋ ๊ฒฝ์ฐ
ResourceHttpRequestHandler ๊ฐ ํธ๋ค๋ฌ ์ ๋ณด๋ก ๋์ด์ค๊ธฐ ๋๋ฌธ์ ํ์ ์ ๋ฐ๋ผ์ ์ฒ๋ฆฌ๊ฐ ํ์
postHandle, afterCompletion
์์ธ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ postHandle ๊ฐ ํธ์ถ๋์ง ์์ผ๋ฏ๋ก, ์ข ๋ฃ ๋ก๊ทธ๋ฅผ afterCompletion ์์ ์คํ
.
์ธํฐ์ ํฐ ๋ฑ๋ก
์คํ ๋ก๊ทธ
์ฐธ๊ณ
์คํ๋ง์ด ์ ๊ณตํ๋ URL ๊ฒฝ๋ก๋ ์๋ธ๋ฆฟ ๊ธฐ์ ์ด ์ ๊ณตํ๋ URL ๊ฒฝ๋ก์ ์์ ํ ๋ค๋ฅด๋ค. ๋์ฑ ์์ธํ๊ณ , ์ธ๋ฐํ๊ฒ ์ค์ ๊ฐ๋ฅํ๋ค.
์ธ์ฆ ์ฒดํฌ
๋ก๊ทธ์ธ ์ฒดํฌ ์ธํฐ์ ํฐ
๋ก๊ทธ์ธ ์ฒดํฌ ์ธํฐ์ ํฐ ๋ฑ๋ก
์๋ธ๋ฆฟ ํํฐ์ ๋นํด ์คํ๋ง ์ธํฐ์ ํฐ๊ฐ ๋์ฑ ์ฌ์ฉ๋ฒ์ด ํธ๋ฆฌ
ํน๋ณํ ๋ฌธ์ ๊ฐ ์๋ค๋ฉด ์ธํฐ์ ํฐ๋ฅผ ์ฌ์ฉํ์.
ArgumentResolver ํ์ฉ ๐
Controller Method ์ ์ธ์๋ก ์์์ ๊ฐ์ ์ ๋ฌํ๋ ๋ฐฉ๋ฒ ์ ๊ณต
Login Annotation ์์ฑ
@Target : annotation ๋์ ์ง์
@Retention : ์ด๋ ์์ ๊น์ง ์ด๋ ธํ ์ด์ ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ฐ์ ธ๊ฐ์ง ์ค์
.
@Login ์ ์ฉ
.
HandlerMethodArgumentResolver ๊ตฌํ
.
ArgumentResolver ์ค์
ArgumentResolver๋ฅผ ํ์ฉํ๋ฉด ๊ณตํต ์์ ์ด ํ์ํ ๋ ์ ๋ ธํ ์ด์ ์ผ๋ก ์ปจํธ๋กค๋ฌ๋ฅผ ๋์ฑ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉ ๊ฐ๋ฅ
Last updated