작성
·
318
0
//인증이 된 상태에서만 통과시키도록.
http.authorizeRequests()
.antMatchers("/**")
.hasIpAddress("{source.ip}") //source ip
.and()
.addFilter(getAuthenticationFilter());
답변 1
0
안녕하세요, 이도원입니다.
apigateway-service를 거치지 않고 직접 user-service를 실행할 때는 Beaer JWT 유효성 여부를 체크하지 않습니다. 제약 사항으로는 IP Address만 유효하면 접근 허가가 됩니다. 따라서 apigateway-service를 통해 JWT의 유효성을 체크할 수 있도록 Filter를 추가하였습니다.
actuator/**의 정보는 중요한 정보임으로 원칙적으로 security 설정에서 막아 놓는것이 필요합니다.
http.authorizeRequests().antMatchers("/**").authenticated().anyRequest().permitAll()
그러나, 강의에서 사용한 예제에서는 위와 동일한 이유로, user-service를 직접 요청하는 경우에는 IP Address 외에는 막지 않고 있습니다. 해당 설정을 액세스 허용하려면 위와 같이 permitAll 설정해서 사용하시면 됩니다.
감사합니다.
아 답변해주셔서 감사합니다!
gateway service의 application.yml에만 filter 를 등록해줘서, user service에서는 아무런 필터도 타지 않는 건가요??
강의 내용을 벗어난 질문일 수 있지만, 직접 user service를 실행할 때도 필터가 적용하게 하려면, user-service의 application.yml에 따로 설정을 해주어야하는 건지 궁금합니다.
감사합니다.