24.07.14 14:35 작성
·
133
·
수정됨
0
routes:
- id: user-service # 로그인
uri: lb://USER-SERVICE
predicates:
- Path=/user-service/login
- Method=POST
filters:
- RemoveRequestHeader=Cookie
- RewritePath=/user-service/(?<segment>,*), /$\{segment}
- id: user-service # 회원가입
uri: lb://USER-SERVICE
predicates:
- Path=/user-service/users
- Method=POST
filters:
- RemoveRequestHeader=Cookie
- RewritePath=/user-service/(?<segment>,*), /$\{segment}
- id: user-service # 그 외
uri: lb://USER-SERVICE # ???? ??
predicates:
- Path=/user-service/**
- Method=GET
filters:
- RemoveRequestHeader=Cookie
- RewritePath=/user-service/(?<segment>,*), /$\{segment}
/**로만 넘겨도 될거같은데 회원가입, 로그인, 그 외 기능을 나누는 이유가 따로 있을까요 ?
답변 1
1
2024. 07. 15. 07:21
안녕하세요, 이도원입니다.
Routes에 설정 된 내용을 정리해 보면,
POST /user-service/login
POST /user-service/users
GET /user-service/**
위와 같이 다른 종류로 되어 있습니다. POST /user-service/login, POST /user-service/users 에서는 인증에 관련된 Filter를 거치지 않고 실행하기 위해서 설정을 분리하였습니다. 나머지 GET /user-service/** 부분에서는 인증관련 Fitler를 추가하고, 해당 인증을 거치지 않으면 실행되지 않도록 (401 or 403 오류) 적용할 수 있습니다. 올려주신 코드에는 Filter가 적용되어 있지 않은데, 최종코드에는 아래와 같이 Filter를 추가하여 처리하는 부분이 추가되어 있습니다.
- id: user-service
uri: lb://USER-SERVICE
predicates:
- Path=/user-service/**
- Method=GET
filters:
- RemoveRequestHeader=Cookie
- RewritePath=/user-service/(?<segment>.*), /$\{segment}
- AuthorizationHeaderFilter
감사합니다.