2017-06-06 21 views
0

我正在使用Enterprise Integrator。我想授權定製用戶,使用認證服務來獲得令牌。我曾嘗試過「代理服務」方法。但它不起作用。如何授權wso2中的特定用戶?

我該怎麼做?

<soapenv:Fault xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope" xmlns:axis2ns7="http://www.w3.org/2003/05/soap-envelope"> 
    <soapenv:Code> 
    <soapenv:Value>axis2ns7:Sender</soapenv:Value> 
    <soapenv:Subcode> 
    <soapenv:Value xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">wsse:InvalidSecurity</soapenv:Value> 
    </soapenv:Subcode> 
</soapenv:Code> 
<soapenv:Reason> 
    <soapenv:Text xml:lang="en-US">Expected transport is "https" but incoming transport found : "http" </soapenv:Text> 
</soapenv:Reason> 
<soapenv:Detail/> 
</soapenv:Fault> 
+0

您可以通過向代理服務添加安全策略來實現此目的。這裏是一個示例教程:https://www.yenlo.com/blog/securing-proxies-in-wso2-esb-4.9.0 –

+0

我嘗試了你的建議。但仍然沒有積極的迴應。我附上了問題中的錯誤。請參閱,如果你能幫忙。 –

回答

1

要保護WSO2中的代理服務,您應該使用安全策略。

注:代理服務被固定後,你應該使用HTTPS傳輸訪問代理服務,並添加所需的認證令牌的SOAP頭:

<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-7DEBB9BDD57CC8619914970188232131"> 
      <wsse:Username>username</wsse:Username> 
      <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">TVea2PRqvZrMuX3edayHPGMHaB8=</wsse:Password> 
      <wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">cRkZQr9inPo9JbrD+nselw==</wsse:Nonce> 
      <wsu:Created>2017-06-09T14:33:43.212Z</wsu:Created> 
     </wsse:UsernameToken> 
     </wsse:Security> 
    </soapenv:Header> 

可以使用管理添加用戶和角色控制檯:配置 - 用戶和角色。您還可以從其他用戶存儲中導入用戶:配置 - 用戶存儲(或者,也可以通過修改WSO2EI_FOLDER/conf/user-mgt.xml)。

相關問題