inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

API Gateway - Route 처리

로그인까지는 되는데 /welcome에서 403 Forbidden 에러가 뜹니다.

1075

고은우

작성한 질문수 3

0

안녕하세요.

깃허브에서 spring boot 3.2 브랜치통해 코드를 작성했습니다. 그런데 회원가입, 로그인까지 해서 jwt토큰까지는 잘 받아오는데, 그 이후에 /welcome으로 헤더에 토큰으로 추가해서 요청을 보내도 403 forbidden에러가 뜹니다.

코드는 spring boot 3.2 브랜치와 동일합니다.

 

spring-boot jpa 아키텍처 spring-cloud kafka msa rabbitmq

답변 2

0

Dowon Lee

안녕하세요, 이도원입니다.

프로젝트 실행에 참조하신 브랜치의 WebSecurityNew.java 코드에서,

        http.authorizeHttpRequests((authz) -> authz
                        .requestMatchers(new AntPathRequestMatcher("/actuator/**")).permitAll()
                        .requestMatchers(new AntPathRequestMatcher("/h2-console/**")).permitAll()
                        .requestMatchers(new AntPathRequestMatcher("/users", "POST")).permitAll()
                        .requestMatchers(new AntPathRequestMatcher("/h2-console/**")).permitAll()
//                        .requestMatchers("/**").access(this::hasIpAddress)
                        .requestMatchers("/**").access(
                                new WebExpressionAuthorizationManager("hasIpAddress('127.0.0.1') or hasIpAddress('172.30.1.48')"))

위 메소드 중 hasIpAddress 부분을 127.0.0.1 외에 사용하시는 IP Address로 변경하시고 실행해 보시기 바랍니다. 제가 작업 한 환경의 IP를 그대로 올려드렸는데, 실행하시는 환경에 맞춰 변경해 보시기 바랍니다. Github에도 다시 보충 설명 추가하도록 하겠습니다.

감사합니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

고은우님, 질문하신 내용과 유사한 고민을 가진 다른 수강생분들의 답변을 찾아보았습니다. “/welcome으로 요청 시 403 forbidden 에러” 발생과 관련하여, 이는 보통 권한 설정 문제일 수 있습니다. Spring Security 설정에서 특정 경로에 대한 접근 권한이 제대로 부여되지 않았을 때 해당 이슈가 발생할 수 있습니다.

비슷한 상황을 겪고 계신 분들은 대개 WebSecurity 설정에서 IP주소를 특정하여 접근을 제한하거나, 특정 경로(/welcome 등)에 대한 권한 설정을 했을 때 발생합니다. 특히, Spring Boot 2.6 이상에서 .hasIpAddress() 메소드 대신 .access("hasIpAddress('" + ip + "')") 방식으로 변경되어야 할 수 있습니다(참고 링크).

접근 권한 관련 문제를 해결하는 한 예로, WebSecurity 설정에서 http.authorizeRequests().antMatchers("/welcome").permitAll(); 와 같이 /welcome 경로에 대한 접근을 모두에게 허용하는 설정을 추가하거나, 정확한 권한을 부여해주어야 할 수 있습니다.

다만, 실제 상황과 정확히 일치하는지는 코드를 직접 보면서 디버그해봐야 할 수 있습니다. 아래는 관련된 몇 가지 질문들 링크와 간략한 설명입니다:
- 403 Forbidden 접근 오류 해결 방법: Spring Security에서 IP 주소 접근 제한 관련 문제를 다루고 있습니다.

그럼에도 불구하고 문제가 해결되지 않거나 다른 설정(예: JWT 토큰 검증이나 권한 부여 설정 등)이 문제일 수도 있으므로, 사용하고 계신 WebSecurity 설정 코드와 JWT 토큰을 검증하는 부분, 그리고 관련 컨트롤러의 권한 설정 부분을 다시 한 번 상세히 점검해보는 것을 추천드립니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

kafka 업데이트 강의 듣고 시포요

0

81

1

강의 교안

0

68

1

마이크로서비스간 통신 시, 인증 처리

0

76

1

api gateway 에서 인증 처리

0

62

1

섹션 19 질문드립니다

0

50

1

강의 자료 업데이트

0

80

1

부하분산 강의 섹션

0

55

1

강의자료는 어디에서?

0

68

1

강의 자료는 어디서 다운 받을 수 있나요?

0

108

1

전체 사용자 조회시 오류

0

56

1

혹시 pk 외 별도의 id 를 부여한 이유가 있을까요 ??

0

107

2

학습 방향

0

93

2

카프카 커넥터 사용 목적 문의

0

84

2

kafka 강의

0

104

2

서비스 디스커버리 종류

0

85

2

강의 자료에 대해서 궁금해요

0

113

2

GlobalFilter, LoggingFilter가 동작하지 않습니다.

0

87

2

Kafka Source Connect 버전 에러

0

82

2

소스커넥터는 사용안한 거 맞죠?

0

79

2

강의자료 업데이트 문의

0

93

2

강의에서 BCryptPasswordEncoder 에 역할(5-2)

0

55

1

강의 업데이트 계획이 궁금합니다.

0

110

2

MSA 애플리케이션에 Spring Web과 Spring Data JPA를 사용하는 것이 바람직한지 궁금합니다. (MSA 설계와 관련된 질문입니다)

0

160

2

어떤 것이 업데이트 된 건가요?

0

160

2