E R R O R/Spring Error

[Spring Error] Access is denied / org.springframework.security.access.AccessDeniedException: Access is denied

Junesker 2024. 9. 27. 17:17
๋ฐ˜์‘ํ˜•

Spring Security Access is denied Error

 

์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํ™œ์šฉํ•œ ์‹œํ๋ฆฌํ‹ฐ ์ ์šฉ์‹œ, ๋‚ด๊ฐ€ ๋“ค์–ด๊ฐ€๊ณ ์ž ํ•˜๋Š” ํ•ด๋‹น ํƒ€๊ฒŸ์— ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ๊ถŒํ•œ์ด ์„ค์ •๋˜์–ด ์žˆ๋‹ค๋ฉด ์„ค์ •๋œ ๊ถŒํ•œ ์ด์™ธ์— ์ ‘๊ทผ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 'ํšŒ์›'๊ณผ '๊ด€๋ฆฌ์ž'๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ํƒ€๊ฒŸ์ด ์กด์žฌํ•œ๋‹ค๋ฉด ํ•ด๋‹น ํƒ€๊ฒŸ์€ ๊ฐ ๊ถŒํ•œ์„ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž์ด์—ฌ์•ผ๋งŒ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•  ๊ฒƒ์ด๋‹ค. ๊ทธ ์™ธ์— ๋‹ค๋ฅธ ๊ถŒํ•œ์„ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž๋ผ๋ฉด ์ ‘๊ทผ์ด ๋ถˆ๊ฐ€ํ•˜๊ฒ ๋‹ค. ์ด์™€ ๊ฐ™์ด ํƒ€๊ฒŸ์— ์„ค์ •๋˜์–ด ์žˆ๋Š” ๊ถŒํ•œ ์ด์™ธ์— ๋‹ค๋ฅธ ๊ถŒํ•œ์„ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž๊ฐ€ ์ ‘๊ทผ ์‹œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ๊ฐ€ 'Access is denied'์—๋Ÿฌ์™€ ๊ฐ™์€ ์ ‘๊ทผ ๊ฑฐ๋ถ€ ์—๋Ÿฌ์ด๋‹ค. 

 

 

 

 

 

Access is denied
์—๋Ÿฌ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

 

 

 

 

 

Access is denied ๋ฐœ์ƒ ์—๋Ÿฌ ์˜ˆ์‹œ

 

 

 

 

 

์ฒซ๋ฒˆ์งธ, ํƒ€๊ฒŸ(๋ชฉ์ ์ง€)์— ์„ค์ •๋˜์–ด ์žˆ๋Š” ๊ถŒํ•œ๊ณผ ๋™์ผํ•œ ์‚ฌ์šฉ์ž ๊ณ„์ •์œผ๋กœ ์ ‘๊ทผํ•œ๋‹ค.

 

 

@PreAuthorize ์–ด๋…ธํ…Œ์ด์…˜์„ ํ†ตํ•ด ํƒ€๊ฒŸ์œผ๋กœ ์ ‘๊ทผ ์ „, ์ธ์ฆ์ด ์ง„ํ–‰๋˜์–ด์•ผํ•˜๊ณ  hasAnyRole์— ์„ค์ •๋˜์–ด ์žˆ๋Š” 'MEMBER'์™€ 'ADMIN' ๊ถŒํ•œ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋„๋ก ํƒ€๊ฒŸ์ด ์„ค์ •๋˜์–ด ์žˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— 'MEMBER'์™€ 'ADMIN' ๊ถŒํ•œ์„ ๊ฐ–๊ณ  ์žˆ๋Š” ์‚ฌ์šฉ์ž ๊ณ„์ •์œผ๋กœ ์ ‘๊ทผํ•œ๋‹ค๋ฉด ๋ฌธ์ œ๊ฐ€ ์—†๊ฒ ๋‹ค. 

 

 

 

 

 

๋‘๋ฒˆ์งธ, ์‹œํ๋ฆฌํ‹ฐ ์„ค์ •์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

 

 

์‹œํ๋ฆฌํ‹ฐ ์„ค์ •์—๋Š” ์ฐจ์ด๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋ž˜์Šค๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ @Configuration์„ ์ด์šฉํ•˜์—ฌ ์„ค์ •ํ•˜๋Š” ๋ฐฉ์‹์ด ์žˆ๊ณ  xmlํŒŒ์ผ์„ ์ด์šฉํ•˜์—ฌ ์„ค์ •ํ•˜๋Š” ๋ฐฉ์‹์ด ์žˆ๋Š”๋ฐ ํ›„์ž์— ๋ฐฉ๋ฒ•์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ๋Š” ๋‚ด์šฉ์œผ๋กœ ์„ค๋ช…ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์‹œํ๋ฆฌํ‹ฐ ์„ค์ •์„ ํ™•์ธํ–ˆ์„๋•Œ ํ•„ํ„ฐ ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘ํ•˜๊ณ  ์žˆ๋Š” ์‹œํ๋ฆฌํ‹ฐ๊ฐ€ ํ•„ํ„ฐ๋กœ๋ถ€ํ„ฐ ์ž˜ ๋™์ž‘ํ•˜๊ณ  ์žˆ๋Š”์ง€ ํ•ด๋‹น ๊ตฌ์กฐ๊ฐ€ ์„ค์ •๋ถ€๋ถ„์—์„œ๋ถ€ํ„ฐ ์ž˜ ์ ์šฉ๋˜์–ด ์žˆ๋Š”์ง€๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

 

 

 

 

 

์„ธ๋ฒˆ์งธ, ์ง€๊ทนํžˆ ์ •์ƒ์ ์ธ ๋ฉ”์„ธ์ง€์ธ ๊ฒฝ์šฐ๋„ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

 

 

๊ถŒํ•œ์ด ์„ค์ •๋˜์–ด ์žˆ๋Š” ํƒ€๊ฒŸ์œผ๋กœ ์ ‘๊ทผ ์‹œ, ๋กœ๊ทธ์ธ ์ธ์ฆ ํŽ˜์ด์ง€๊ฐ€ ๋‚˜ํƒ€๋‚˜๋Š”๋ฐ ์ด๋•Œ, ์—๋Ÿฌ ๋ฉ”์„ธ์ง€๋กœ 'Access is denied (user is anonymous)'์™€ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ์—๋Ÿฌ ๋ฉ”์„ธ์ง€๋Š” ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ ๊ณต์‹ ๋ฌธ์„œ์—์„œ ์„ค๋ช…ํ•˜๊ธธ '์ด๋Š” ์ต๋ช… ์‚ฌ์šฉ์ž๊ฐ€ ๋ณดํ˜ธ๋œ ๋ฆฌ์†Œ์Šค์— ์ฒ˜์Œ์œผ๋กœ ์•ก์„ธ์Šคํ•˜๋ ค๊ณ  ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๋””๋ฒ„๊ทธ ์ˆ˜์ค€ ๋ฉ”์„ธ์ง€์ž…๋‹ˆ๋‹ค.' ๋ผ๊ณ  ๊ฐ€์ด๋“œํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์ด๋Š” ์ •์ƒ์ ์ธ ํ˜„์ƒ์ด๋ฉฐ ๊ฑฑ์ •ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค๋ผ๊ณ  ๊นŒ์ง€ ์„ค๋ช…ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

 

 

์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋‚˜๋Š” ์—๋Ÿฌ ๋Œ€๋ถ€๋ถ„์€ ์˜คํƒ€์ด๊ฑฐ๋‚˜ ์„ค์ •์— ๋ฌธ์ œ๊ฐ€ ์žˆ๊ฑฐ๋‚˜ ์›๋ก ์ ์ธ ๊ตฌ์กฐ์—์„œ ์ž˜๋ชป๋ฌ๊ฑฐ๋‚˜ ๋“ฑ๋“ฑ ๋‹ค์–‘ํ•œ ์ƒํ™ฉ์ด ์กด์žฌํ•˜์ง€๋งŒ, ๋ฐœ์ƒํ•˜๊ณ  ์žˆ๋Š” ์—๋Ÿฌ์˜ ๋ฉ”์„ธ์ง€๋ฅผ ํ†ตํ•ด์„œ ๊ฐ ์ƒํ™ฉ์„ ์œ ์ถ”ํ•ด๊ฐ€๋ฉด์„œ ์ฐพ์•„๋ณด๋ฉด ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ”์œ„์˜ ํญ์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

 

@Junesker


 

๋ฐ˜์‘ํ˜•