๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

WebStorm25

[Spring, React] ํ–‰์šด์˜ ๋กœ๋˜ ๋งˆ๋ฒ•์ง„ ์‚ฌ์ดํŠธ ๋งŒ๋“ค๊ธฐ(1) - ๊ตฌ์„ฑ ์˜ˆ์ „์— ๋งŒ๋“ค์—ˆ๋˜ ๋กœ๋˜ ํŽ˜์ด์ง€๊ฐ€ ์žˆ๋‹ค.์ด๋ฒˆ์—” ์กฐ๊ธˆ ๋” ๋ณ€ํ˜•ํ•ด์„œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ ์‹ค์ œ๋กœ ์„œ๋ฒ„๊นŒ์ง€ ์—ด์–ด ์ง์ ‘ ์šด์˜์„ ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค! 1. ์˜ˆ์ „ ๋กœ๋˜ ํŽ˜์ด์ง€์•„์ฃผ ๊ฐ„๋‹จํ•œ ๋กœ๋˜ ๋ฒˆํ˜ธ ์ถœ๋ ฅ ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. 2. ํ–‰์šด์˜ ๋กœ๋˜ ๋งˆ๋ฒ•์ง„ ํ™”๋ฉด๋ฉ”์ธํŽ˜์ด์ง€ (์š”์†ŒX)๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์š”์†Œ๊ฐ€ ๋ณด์ด๋„๋ก ํ•˜๋Š”๊ฒŒ ์ข‹์„์ง€, ๋ฐ”๋กœ ์š”์†Œ๊ฐ€ ๋ณด์ด๋„๋ก ํ•˜๋Š”๊ฒŒ ์ข‹์€์ง€ ์•„์ง ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค. ๋ฉ”์ธํŽ˜์ด์ง€(์š”์†ŒO)์—ฌ๋Ÿฌ ์š”์†Œ๋“ค์ด ์žˆ๊ณ , ์‚ฌ์šฉ์ž๊ฐ€ ์ด 3๊ฐ€์ง€๋ฅผ ๋ˆ„๋ฅด๋ฉด ์ฟต์ง์ฟต์ง ๋งˆ๋ฒ•์ง„์ด ๋งŒ๋“ค์–ด์ง„๋‹ค. ์ด๋•Œ ๊ฐ ์š”์†Œ๋“ค์€ 2-9์˜ ์‚ฌ์ด์˜ ์ ์ˆ˜๋ฅผ ๊ฐ–๋Š”๋‹ค. ๋กœ๋”ฉ ํ™”๋ฉด์™ธ๊ณ„์ธ์ด 360๋„๋กœ ๋ฑ…๊ธ€๋ฑ…๊ธ€ ๋Œ์•„๊ฐ„๋‹ค. 3์ดˆ ์ •๋„ ์ง€๋‚˜๋ฉด "๋กœ๋˜ ๋ฒˆํ˜ธ ์ฃผ๋ฌธ์ด ์™„์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค" ๋ฒ„ํŠผ์ด ์ƒ์„ฑ๋œ๋‹ค. ๊ฒฐ๊ณผ ํŽ˜์ด์ง€๋žœ๋ค ์ˆซ์ž์— ๊ณ„์‚ฐ์ด ๋“ค์–ด๊ฐ€์„œ ๋ฒˆํ˜ธ๊ฐ€ ์ถ”์ถœ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ–‰์šด์˜.. 2026. 4. 21.
[Keycloak, React, Docker] React์—์„œ Keycloak์„ ๋ณธ๊ฒฉ ์ ์šฉํ•˜๊ณ  ์ฝ”๋“œ๋ฅผ ํ•˜๋‚˜ํ•˜๋‚˜ ํŒŒํ—ค์ณ๋ณด์ž. keycloak.js๋ฅผ ๋งŒ๋“ค์–ด์„œkeycloak ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ๋‹ค.๋‹ค์Œ์€ ์ด ํ†ต์‹ ์„ ์ด์šฉํ•ด์„œ์›ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด ๋ณด์ž. [ Keycloak ์„ค์ •ํ•˜๊ธฐ ] [Keycloak, Docker, Mac] Keycloak์—์„œ client, role, users ๋“ฑ ์„ค์ •ํ•˜๊ณ  React ์—ฐ๊ฒฐํ•˜๊ธฐ์ €๋ฒˆ ํฌ์ŠคํŒ…์—์„œ keycloak ์„ค์น˜๋ฅผ ํ•ด๋ณด์•˜๋‹ค.์ด๋ฒˆ์—” ํ”„๋กœ์ ํŠธ์— ๋งž์ถฐ์„œclient, role ๋“ฑ ์„ค์ •ํ•ด๋ณด์ž. [ ์ด์ „ ํฌ์ŠคํŒ… - keycloak์˜ ๋‹ค์–‘ํ•œ ์„ค์น˜ ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ณ  docker๋กœ ์„ค์น˜ํ•ด๋ณด๊ธฐ ] [Keycloak, Docker, Mac] ๋‹ค์–‘post-this.tistory.com 1. ํ๋ฆ„ ์„ค๋ช… ๋” ๋งŽ์€ ์ฝ”๋“œ๊ฐ€ ์žˆ์ง€๋งŒ, ํ•„์ˆ˜๋ผ๊ณ  ์ƒ๊ฐ๋˜๋Š” ๋ถ€๋ถ„๋งŒ ๋จผ์ € ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.keycloak... 2026. 4. 17.
[Keycloak, Docker, Mac] Keycloak์—์„œ client, role, users ๋“ฑ ์„ค์ •ํ•˜๊ณ  React ์—ฐ๊ฒฐํ•˜๊ธฐ ์ €๋ฒˆ ํฌ์ŠคํŒ…์—์„œ keycloak ์„ค์น˜๋ฅผ ํ•ด๋ณด์•˜๋‹ค.์ด๋ฒˆ์—” ํ”„๋กœ์ ํŠธ์— ๋งž์ถฐ์„œclient, role ๋“ฑ ์„ค์ •ํ•ด๋ณด์ž. [ ์ด์ „ ํฌ์ŠคํŒ… - keycloak์˜ ๋‹ค์–‘ํ•œ ์„ค์น˜ ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ณ  docker๋กœ ์„ค์น˜ํ•ด๋ณด๊ธฐ ] [Keycloak, Docker, Mac] ๋‹ค์–‘ํ•œ ์„ค์น˜ ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ณ  Keycloak์„ Docker๋กœ ์ง์ ‘ ์„ค์น˜ํ•ด๋ณด์ž. (1)Keycloak์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด๊ณ ์ง์ ‘ ์„ค์น˜ํ•ด๋ณด์ž! ๋งŒ์•ฝ ์‹ค์ œ๋กœ keycloak์„ ์‚ฌ์šฉํ•  ์˜ˆ์ •์ธ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๊ณ  ์žˆ๋‹ค๋ฉด?์ €์˜ ๊ฒฝ์šฐ๋Š” ์นดํ…Œ๊ณ ๋ฆฌ์—๋„ ์žˆ์ง€๋งŒ VIP ์ดˆ๋Œ€์žฅ์ด๋ผ๋Š” ํ”„๋กœ์ ํŠธ์—์„œ Kpost-this.tistory.com Keycloak Client ๋งŒ๋“ค๊ธฐCreate client์ „ ํฌ์ŠคํŒ…์—์„œ realm์„ ๋งŒ๋“ค์—ˆ๋Š”๋ฐ, ์ด๋•Œ ๋งŒ๋“ค์—ˆ๋˜ realm์—.. 2026. 4. 8.
[Keycloak, Docker, Mac] ๋‹ค์–‘ํ•œ ์„ค์น˜ ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ณ  Keycloak์„ Docker๋กœ ์ง์ ‘ ์„ค์น˜ํ•ด๋ณด์ž. (1) Keycloak์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด๊ณ ์ง์ ‘ ์„ค์น˜ํ•ด๋ณด์ž! ๋งŒ์•ฝ ์‹ค์ œ๋กœ keycloak์„ ์‚ฌ์šฉํ•  ์˜ˆ์ •์ธ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๊ณ  ์žˆ๋‹ค๋ฉด?์นดํ…Œ๊ณ ๋ฆฌ์—๋„ ์žˆ์ง€๋งŒ VIP ์ดˆ๋Œ€์žฅ์ด๋ผ๋Š” ํ”„๋กœ์ ํŠธ์—์„œ Keycloak์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ €๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ์ฒ˜์Œ Keycloak์„ ์‚ฌ์šฉํ•˜๋‹ค๋ณด๋‹ˆ, ์–ด๋–ค ์ˆœ์„œ๋กœ ์ง„ํ–‰ํ•ด์•ผํ•˜๋Š”์ง€ ๊ณ ๋ฏผ์ด ๋˜๋”๋ผ๊ณ ์š”. ์ œ๊ฐ€ ํ•œ ์ˆœ์„œ๊ฐ€ ์ •๋‹ต์€ ์•„๋‹ˆ๊ฒ ์ง€๋งŒ ํ˜น์‹œ๋ผ๋„ ๋„์›€์ด ๋˜์‹ค ๋ถ„๋“ค์„ ์œ„ํ•ด ๋‚จ๊ฒจ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.VIP ์ดˆ๋Œ€์žฅ์—๋Š” ๊ณ ๊ฐ ๊ด€๋ฆฌ ํŽ˜์ด์ง€์™€ ๊ด€๋ฆฌ์ž๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ด€๋ฆฌ์ž ๊ด€๋ฆฌ ํŽ˜์ด์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ์ค‘ ๊ด€๋ฆฌ์žํŽ˜์ด์ง€์— Keycloak์„ ์ด์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ด€๋ฆฌ์ž๋Š” ์ตœ๊ณ ๊ด€๋ฆฌ์ž์™€ ์ผ๋ฐ˜๊ด€๋ฆฌ์ž๋กœ ์—ญํ• ์ด ๋‚˜๋‰˜๊ณ  ์ตœ๊ณ ๊ด€๋ฆฌ์ž๋Š” ์ผ๋ฐ˜๊ด€๋ฆฌ์ž๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ Keycloak์„ ํ†ตํ•ด ๊ด€๋ฆฌ์žํŽ˜์ด์ง€์—” ์ตœ๊ณ ๊ด€๋ฆฌ์ž.. 2026. 4. 8.
[Spring, React] Keycloak์ด ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ๊ณผ ์‚ฌ์šฉ ์ „ ์•Œ์•„์•ผํ•  ๊ฐœ๋… ์ •๋ฆฌ ๊ตฌ์ธ๊ตฌ์ง์„ ์‚ดํŽด๋ณด๋ฉด,๋ณดํŽธ์ ์œผ๋กœ ๊ฒฝ๋ ฅ์ง ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์š”๊ตฌ๋˜๋Š” ๊ฒƒ๋“ค์ด ์žˆ๋‹ค.๊ทธ๋ฆฌ๊ณ  ๊ทธ ์ค‘ ๊ณตํ†ต์ ์œผ๋กœ ๋“ฑ์žฅํ•˜๋Š”๊ฒŒ Keycloak์ด์—ˆ๋‹ค.๋„๋Œ€์ฒด Keycloak์ด ๋ญ๊ธธ๋ž˜ ๋งŽ์€ ๊ณณ์—์„œ ์‚ฌ์šฉํ•˜๊ธธ ์›ํ•˜๋Š”๊ฑธ๊นŒ?Keycloak์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. 1. Keycloak์˜ ๊ธฐ๋Šฅ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋กœ๊ทธ์ธ ์–‘์‹์„ ์ฒ˜๋ฆฌํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉ์ž๋ฅผ ์ธ์ฆํ•˜๊ณ  ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ์ €์žฅํ•  ํ•„์š”๊ฐ€ ์—†์ด Keycloak์„ ํ†ตํ•ด ์ธ์ฆํ•œ๋‹ค.Single Sign-On : Keycloak์— ํ•œ ๋ฒˆ ๋กœ๊ทธ์ธํ•˜๋ฉด ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ ‘์†ํ•  ๋•Œ ๋‹ค์‹œ ๋กœ๊ทธ์ธํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค. ์‚ฌ์šฉ์ž๋Š” ์—ฌ๋Ÿฌ ์„œ๋น„์Šค์— ๊ฐ๊ฐ ๋กœ๊ทธ์ธ ํ•  ํ•„์š”๊ฐ€ ์—†์ด ํ•œ ๋ฒˆ์˜ ์ธ์ฆ์ด๋ฉด ๋ชจ๋“  ์—ฐ๊ฒฐ๋œ ์•ฑ์„ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ๊ธฐ๋Šฅ์€ ๋กœ๊ทธ์•„์›ƒ๋„ ๊ทธ๋Œ€๋กœ ์ ์šฉ๋œ๋‹ค.Identity Brokering and Social L.. 2026. 3. 19.
[Spring, React] jsx์™€ css ํŒŒ์ผ ์—ฐ๊ฒฐ, ์—ฐ๊ฒฐ๋œ css๊ฐ€ ์•„๋‹ˆ์–ด๋„ jsx ํŽ˜์ด์ง€์— ์˜ํ–ฅ์„ ์ฃผ๋Š” ๊ฒฝ์šฐ ๊ณ ๊ฐ ๊ด€๋ฆฌ ํŽ˜์ด์ง€๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ๊ด€๋ฆฌ์ž ๊ด€๋ฆฌ ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค๊ณ  ์žˆ๋‹ค.๋ถ„๋ช… ๊ฐ ํŽ˜์ด์ง€์— css ํŒŒ์ผ์„ ๋‹ค๋ฅด๊ฒŒ ์—ฐ๊ฒฐ์‹œ์ผฐ๋Š”๋ฐ,์™œ ์ˆ˜์ •์ด ๋™์‹œ์— ๋˜๋Š”๊ฑธ๊นŒ? 1. ํ™”๋ฉด์•„๋ž˜์™€ ๊ฐ™์€ ํ™”๋ฉด์„ ๋งŒ๋“ค์—ˆ๋‹ค. ์•„๋ž˜ ํŽ˜์ด์ง€๋Š” ๊ด€๋ฆฌ์ž๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํŽ˜์ด์ง€ ์ค‘ ๊ฒ€์ƒ‰์ฐฝ ํ™”๋ฉด์ด๋‹ค. ์ด ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ, ์ „์— ๋ฏธ๋ฆฌ ๋งŒ๋“ค์—ˆ๋˜ ๊ณ ๊ฐ ๊ด€๋ฆฌ ํŽ˜์ด์ง€์˜ ๊ฒ€์ƒ‰์ฐฝ ์ฝ”๋“œ๋ฅผ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ์™”๋‹ค. 2. ๋ฌธ์ œ์™€ ์›์ธ๋ฌธ์ œ๊ณ ๊ฐ ๊ด€๋ฆฌ ํŽ˜์ด์ง€ ์ค‘ ๊ฒ€์ƒ‰์„ ๋‹ด๋‹นํ•˜๋Š” jsx๋Š” CustomerAdd.jsx์ด๋‹ค. ์ด jsx๋Š” CustomerTable.css์™€ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ด€๋ฆฌ์ž ๊ด€๋ฆฌ ํŽ˜์ด์ง€ ์ค‘ ๊ฒ€์ƒ‰์„ ๋‹ด๋‹นํ•˜๋Š” jsx๋Š” AdminAdd.jsx์ด๋‹ค. ์ด jsx๋Š” PermissionSetting.css์™€ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋‹ค.๊ทธ๋Ÿฐ๋ฐ PermissionSetting.css๋ฅผ.. 2026. 3. 17.