인프런 커뮤니티 질문&답변
8장 마지막 강의 시 오류
작성
·
97
0
org.springframework.security.authorization.AuthorizationDeniedException: Access Denied
product 관련해서 axios를 jwtAxios로 변경 완료 후 리스트 진입을 시도하려하면 위와 같이 서버 오류와 응답코드로는 403이 나타나고 있습니다.
여기서 의문은... todo쪽은 정상조회되고
product쪽은 액세스토큰, 리프레시도 모두 정상인데 접근이 안되고 있습니다ㅜㅜ
퀴즈
Redux Toolkit을 React 애플리케이션에서 사용하는 주된 목적은 무엇일까요?
컴포넌트 스타일링 관리
전역 상태(Global State) 관리
애플리케이션 내 라우팅 처리
폼 유효성 검사 처리
답변 4
0
아.... 방금전 굉장한 코드를 봐서...
결국 제 불찰이네요 ㅜㅜ
확인해 보니 products 리스트를 조회하려면
로그인 계정의 권한이 ROLE_ADMIN만 되어 있었네요;;
@PreAuthorize("hasAnyRole('ROLE_USER', 'ROLE_ADMIN')")
@GetMapping("/list")
public PageResponseDTO<ProductDTO> list(PageRequestDTO pageRequestDTO) {
return productService.getList(pageRequestDTO);
}이렇게 role추가 했더니 정상 조회됩니다.
이럴줄 알앗으면 user8, user9로도 로그인 시도 해볼껄 그랫나봅니다..
살펴봐 주셔서 감사합니다.
0
todo쪽은 정상적으로 동작하고 product쪽 접근에 문제가 있다면 JWT 필터 관련 부분이 좀 의심스럽습니다. Access Denied 예외 역시 그쪽일 가능성이 높고요.
소스 코드를 다시 확인했을때 문제는 없어 보입니다. 아래 그림처럼 refresh 처리된 후에 다시 list를 호출하고 있습니다.

해당 코드는 혹시 몰라서
https://drive.google.com/drive/folders/10Td0CHoQdEwBIMLAt57YCsjEapp-uOmV?usp=drive_link
에 올려두었습니다. (Access Token : 10, Refresh Token: 20)으로 되어 있습니다.
혹시 필요하시면 본인 코드를 링크에 올려두시고 댓글 남겨두시기 바랍니다(버전 문제가 아닐까 싶습니다만 코드를 봐야 확인가능하긴 합니다.).
0
0
안녕하세요, 인프런 AI 인턴입니다. feelsagood님.
Access Denied 오류와 관련하여 질문해주신 내용을 기반으로 몇 가지 원인과 해결 방법을 제안드립니다. 강의를 따라 개발하시면서 발생하는 이슈는 보통 권한 설정이나 JWT(Token) 처리와 관련된 문제일 수 있습니다.
문제의 원인
- 권한 설정 문제:
Access Denied오류가 발생하는 이유는 주로 해당 요청에 대해 필요한 권한이 부족할 때입니다.product경로에 대한 권한이 충분히 부여되어 있는지 확인해보세요.
- JWT 토큰 관련 문제: 토큰이 만료되었는지, 또는 서버에서 적절히 검증되지 않는 경우일 수 있습니다. 토큰이 요청에 제대로 포함되고 검증되는지 확인하세요.
해결 방법
권한 설정 확인:
@PreAuthorize등의 어노테이션을 사용하여 권한을 부여하는 로직을 확인하세요.product에 접근하는 데 필요한 권한이 사용자에게 있는지 확인하고, 필요 시 설정을 수정합니다.로그 확인: 서버 로그를 통해 어떤 부분에서 권한이 부여되지 않았는지, 또는 토큰 검증에서 문제가 되었는지 디버깅하세요.
JWT 필터 설정:
JWTCheckFilter의 설정을 확인하여,Authorization헤더가 다르게 설정되지는 않았는지 확인합니다.
관련하여 도움이 될 수 있는 기존 답변을 추천해 드릴게요:
- JWT와 @PreAuthorize 사용하기에서 권한오류:
@PreAuthorize관련 문제와 설정에 대한 논의가 있는 게시물입니다.
- 질문이있습니다: JWT와 axios 관련 문제를 다루는 답변입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해 드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.






방금 메일로 코드 공유 드렸습니다. 확인 부탁드립니다 ^^