UsernameToken
인증과 함께 ws-security를 사용하는 웹 서비스 클라이언트를 만들 때 Apache-CXF를 사용하고 있습니다. I가 다른 사용자와 암호를 설정하는 방법 그러나ws-security - 요청할 때마다 다른 사용자 이름과 암호를 설정하십시오.
Map<String, Object> ctx = bindingProvider.getRequestContext();
ctx.put(SecurityConstants.USERNAME, "myUserName");
ctx.put(SecurityConstants.PASSWORD, "myPassword");
: 모든 요청에 난 그냥 내 BindingProvider
(즉, WS-포트)에 다음 속성을 추가 동일한 자격 증명을 사용하기 위해
모든 요청? UsernameTokenInterceptor
에 일종의 공급 업체 기능을 추가하여 (예 : ThreadLocal
변수에서 읽음으로써) 스레드별로 자격 증명을 제공 할 수 있습니까?
로서는 내가 SOAPHeader
의 Security/UsernameToken
부분에서 Username
및 Password
값을 수정하는 SOAPHandler<SOAPMessageContext>
구현 해결. 그러나 전체 보안 섹션을 만드는 기존 SOAPHandler
을 추가하거나 UsernameTokenInterceptor
에 공급 업체 기능을 제공하는 것을 선호합니다.