weblogic Ws-安全政策与绿洲政策

时间:2015-06-26 08:21:47

标签: weblogic-10.x ws-security policy

我们正在尝试在Weblogic 10.3.6上部署的Web服务上配置ws-security:目的是仅在经过身份验证时允许执行ws。

因此,我们在默认的weblogic领域创建了一个用户(“虚拟”),并将凭据传递给开发此Web服务客户端的人员。

他发布了一个由SOAP-UI运行的测试Envelope

<soapenv:Envelope xmlns:sch="http://com.webservices.amm.standalone.key.provider/schema.xsd" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">  
   <soapenv:Header>  
     <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">  
     <wsse:UsernameToken wsu:Id="UsernameToken-2">  
          <wsse:Username>dummy</wsse:Username>       
          <wsse:Password Type="**http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest**"><!-- digested password --></wsse:Password>  
          <wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"><!-- encoding type --></wsse:Nonce>  
          <wsu:Created>2015-06-24T14:42:48.749Z</wsu:Created>  
     </wsse:UsernameToken>  
     </wsse:Security>  
     </soapenv:Header>  
   <soapenv:Body>  
      <sch:searchKeyReq>  
         <sch:KeyProviderInput>  

            <!--Here input attributes:-->  

         </sch:KeyProviderInput>  
      </sch:searchKeyReq>  
   </soapenv:Body>  
</soapenv:Envelope>  

哪个回复是

<?xml version='1.0' encoding='UTF-8'?>  
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">  
<S:Body><SOAP-ENV:Fault xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">  
     <faultcode xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">**SOAP-ENV:MustUnderstand**</faultcode>  
      <faultstring>MustUnderstand headers:[{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}Security] are not understood</faultstring>  
</SOAP-ENV:Fault></S:Body></S:Envelope>  

显然,我认为,这取决于网络服务的ws-policy没有配置。

所以问题是:

1)我们必须通过管理控制台或weblogic @Policy注释与我们的web服务相关联的策略,这些注释与我们在soapenv中看到的绿洲政策相对应:标题标记&gt;?

2)“虚拟”用户必须具有某些特定角色吗?

提前致谢

1 个答案:

答案 0 :(得分:0)

您只需将以下行添加到您的网络服务类:

@Policy(uri = "Wssp1.2-2007-Https-UsernameToken-Plain.xml", attachToWsdl=true)

通过此策略,您可以告诉客户端发送用户名和密码(纯文本)。您可以选择其他一些策略来发送加密密码,例如Digest。 您也可以从weblogic控制台中选择此策略。

关于用户的角色,据我所知,在安全领域定义一个新用户的效果非常好,但为了管理角色和权限,应该有一些角色。