Sessions: FilesystemStore ์‚ฌ์šฉ ์‹œ ์„ธ์…˜ ์ œ๊ฑฐ

์— ๋งŒ๋“  2017๋…„ 01์›” 27์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: gorilla/sessions

์•ˆ๋…•ํ•˜์„ธ์š”, ๋จผ์ € ์ด ํŒจํ‚ค์ง€์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์‚ฌ์šฉํ•˜๊ธฐ ์ •๋ง ์‰ฝ์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ

๋‚ด๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ดํ•ดํ•œ๋‹ค๋ฉด ์„ธ์…˜์— ๋Œ€ํ•ด ํŒŒ์ผ ์‹œ์Šคํ…œ ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ฐ€์ ธ์˜ค๋Š” ์„ธ์…˜ ์ฟ ํ‚ค์—๋Š” CookieStore๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์„ธ์…˜์˜ ID๋งŒ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ๋Š” http ์š”์ฒญ ์‹œ ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ ์„ธ์…˜์„ ๊ฒ€์ƒ‰ํ•˜๊ณ  ์ด๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค(๋˜๋Š” ํ•œ ๋ฒˆ ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œํ•˜๊ณ  ํ›„์† ์š”์ฒญ์„ ์œ„ํ•ด ์œ ์ง€).

ํŒŒ์ผ ์‹œ์Šคํ…œ ์ €์žฅ์†Œ/๋ฉ”๋ชจ๋ฆฌ ๋‚ด์—์„œ ์„ธ์…˜์„ ์ œ๊ฑฐํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์—†๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

ํ˜„์žฌ ์‹œ๋‚˜๋ฆฌ์˜ค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ๋กœ๊ทธ์•„์›ƒํ•˜๋ฉด ์„ธ์…˜์ด ์‚ญ์ œ๋˜๊ธฐ๋ฅผ ์›ํ•ฉ๋‹ˆ๋‹ค.

  • ์„ธ์…˜ ํŒŒ์ผ์„ ์‚ญ์ œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค
  • ์ œ๊ณต๋œ ์„ธ์…˜ ์ฟ ํ‚ค๊ฐ€ ์žˆ๋Š” ๋‹ค์Œ ์š”์ฒญ์€ ์ผ์น˜ํ•˜๋Š” ์„ธ์…˜์„ ์ฐพ์„ ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์œ ํšจํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์ง€๊ธˆ ๋‹น์žฅ์€ ์ฟ ํ‚ค ์„œ๋ช…์„ ์œ„ํ•œ ๊ฐœ์ธ ํ‚ค๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๋Š” ํ•œ ์„ธ์…˜์€ ์˜์›ํžˆ ์œ ํšจํ•ฉ๋‹ˆ๋‹ค.

์„ธ์…˜์ด ์—ฌ์ „ํžˆ ์œ ํšจํ•œ์ง€ ์—ฌ๋ถ€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ํ”Œ๋ž˜๊ทธ๋ฅผ ์„ธ์…˜ ๊ฐœ์ฒด์— ํ‘œ์‹œํ•˜์—ฌ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ํŒŒ์ผ ์‹œ์Šคํ…œ ์ €์žฅ์†Œ์—์„œ ์„ธ์…˜์„ ์ˆ˜๋™์œผ๋กœ ์ œ๊ฑฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์š”๊ตฌ

filesystemStore.RemoveSession(id string) ์™€ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์ €์žฅ์†Œ๊ฐ€ ํŒŒ์ผ ์‹œ์Šคํ…œ ๋ฐ ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œ๋œ ์„ธ์…˜์—์„œ ์„ธ์…˜์„ ์ •๋ฆฌํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

documentation

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์„ค์ • sess.MaxAge(-1) ํ˜ธ์ถœ ๋‹ค์Œ๊ณผ sess.Save ์„ธ์…˜์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค : https://github.com/gorilla/sessions/blob/master/store.go#L213 -L223

์—ฌ๊ธฐ ๋ฌธ์„œ: http://www.gorillatoolkit.org/pkg/sessions#FilesystemStore.Save

์ €์žฅ์€ ์‘๋‹ต์— ๋‹จ์ผ ์„ธ์…˜์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

์„ธ์…˜์˜ Options.MaxAge๊ฐ€ <= 0์ด๋ฉด ์„ธ์…˜ ํŒŒ์ผ์ด ์ €์žฅ์†Œ ๊ฒฝ๋กœ์—์„œ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์„ธ์Šค๋ฅผ ํ†ตํ•ด ์ ์ ˆํ•œ ์„ธ์…˜ ์ฟ ํ‚ค ์ฒ˜๋ฆฌ๋ฅผ ์ ์šฉํ•˜๋ฏ€๋กœ ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ์ฟ ํ‚ค ๊ด€๋ฆฌ๋ฅผ ์‹ ๋ขฐํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๊ทธ๊ฒƒ์ด ๋ช…ํ™•ํ•˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๋ชจ๋“  3 ๋Œ“๊ธ€

์„ค์ • sess.MaxAge(-1) ํ˜ธ์ถœ ๋‹ค์Œ๊ณผ sess.Save ์„ธ์…˜์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค : https://github.com/gorilla/sessions/blob/master/store.go#L213 -L223

์—ฌ๊ธฐ ๋ฌธ์„œ: http://www.gorillatoolkit.org/pkg/sessions#FilesystemStore.Save

์ €์žฅ์€ ์‘๋‹ต์— ๋‹จ์ผ ์„ธ์…˜์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

์„ธ์…˜์˜ Options.MaxAge๊ฐ€ <= 0์ด๋ฉด ์„ธ์…˜ ํŒŒ์ผ์ด ์ €์žฅ์†Œ ๊ฒฝ๋กœ์—์„œ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์„ธ์Šค๋ฅผ ํ†ตํ•ด ์ ์ ˆํ•œ ์„ธ์…˜ ์ฟ ํ‚ค ์ฒ˜๋ฆฌ๋ฅผ ์ ์šฉํ•˜๋ฏ€๋กœ ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ์ฟ ํ‚ค ๊ด€๋ฆฌ๋ฅผ ์‹ ๋ขฐํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๊ทธ๊ฒƒ์ด ๋ช…ํ™•ํ•˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๋‹ซ๊ธฐ - ์งˆ๋ฌธ์ด ์žˆ์œผ๋ฉด ๋‹ค์‹œ ์—ด์–ด์ฃผ์„ธ์š”!

์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์„ธ์…˜ ํŒŒ์ผ์ด ์žˆ๋Š” ๊ฒฝ์šฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ผ๋ถ€ ์„ธ์…˜์ด ๋ธŒ๋ผ์šฐ์ € ๊ฐœ์ธ ๋ชจ๋“œ์—์„œ ์ธ์ฆ๋œ ํ›„ ๋‚˜์ค‘์— ๋ถ„๋ช…ํžˆ ๋กœ๊ทธ์•„์›ƒํ•˜์ง€ ์•Š๊ณ  ์„ธ์…˜ ํŒŒ์ผ ์ œ๊ฑฐ ์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ด์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ๊ถŒ์žฅ๋˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ? ?

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰