2017-03-03 1 views
0

나는 안전한 토큰 서비스 (CXF)를 가지고있다. 사용자가 메시지 (wsse : BinarySecurityToken)에 서명하여 인증하면 정상적으로 작동합니다.특정 토큰 유형에 대해 ws 정책을 사용하여 서명을 비활성화하려면 어떻게합니까?

사용자가 사용자 이름 토큰을 제공하면 동일한 서비스를 사용해야합니다. 이 경우 사용자는 메시지에 서명해서는 안됩니다. 나는 그에게 다른 webservice 주소를 줄 수는 없다.

나는 이미 UsernameTokenValidator을 구현 한 모든 것이 내 현재의 정책을 제거 할 때, 작동 :

<wsp:Policy wsu:Id="CertificateSecurityPolicy"> 
    <wsp:ExactlyOne> 
     <wsp:All> 
      <sp:Layout> 
       <wsp:Policy> 
        <sp:Lax/> 
       </wsp:Policy> 
      </sp:Layout> 
      <sp:IncludeTimestamp wsp:Optional="true"/> 
      <sp:SignedParts> 
       <sp:Body/> 
       <sp:Header Namespace="http://schemas.xmlsoap.org/ws/2004/08/addressing"/> 
       <wsu:Timestamp/> 
      </sp:SignedParts> 
     </wsp:All> 
    </wsp:ExactlyOne> 
</wsp:Policy> 

을하지만이를 제거하는 경우, 그 서명이 필수는 아니고, 처음 사용 사례를 나누기.

어떻게하면 좋을까요? ?

<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" > 
    <wsse:UsernameToken> 
    <wsse:Username>username</wsse:Username> 
    <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</wsse:Password> 
    </wsse:UsernameToken> 
    </wsse:Security> 

아니면 모든 정책은 제거해야합니다 : 정책이 방식으로 수정 될 수있다, 그 서명은 사용자 이름 토큰에 대한 필수 아닌가요? 이 경우에는? 사용자가 메시지에 서명하고 wsse : BinarySecurityToken을 제공하면 X509 검사기가 트리거됩니까?

편집 : 여기

는 콤 O hEigeartaigh의 시간

<wsp:Policy wsu:Id="issuePolicy"> 
     <wsp:ExactlyOne> 
      <wsp:All> 
       <sp:Layout> 
        <wsp:Policy> 
         <sp:Lax/> 
        </wsp:Policy> 
       </sp:Layout> 
       <sp:IncludeTimestamp wsp:Optional="true"/> 
       <sp:SignedParts> 
        <sp:Body/> 
        <sp:Header Namespace="http://schemas.xmlsoap.org/ws/2004/08/addressing"/> 
        <wsu:Timestamp/> 
       </sp:SignedParts> 
       <wssp:SupportingTokens xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"> 
        <wsp:Policy> 
         <sp:X509Token sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient"> 
          <wsp:Policy> 
           <sp:WssX509V3Token10/> 
          </wsp:Policy> 
         </sp:X509Token> 
        </wsp:Policy> 
       </wssp:SupportingTokens> 
      </wsp:All> 
      <wsp:All> 
       <sp:Layout> 
        <wsp:Policy> 
         <sp:Lax/> 
        </wsp:Policy> 
       </sp:Layout> 
       <wssp:SupportingTokens> 
        <wsp:Policy> 
         <wssp:UsernameToken wssp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient"> 
          <wsp:Policy> 
           <wssp:WssUsernameToken11/> 
          </wsp:Policy> 
         </wssp:UsernameToken> 
        </wsp:Policy> 
       </wssp:SupportingTokens> 
      </wsp:All> 
     </wsp:ExactlyOne> 
    </wsp:Policy> 

답변

관련 문제