WSO2 Enterprise Integrator:在数据服务上启用安全性:无法对安全令牌进行身份验证或授权

时间:2020-06-05 15:14:35

标签: soap wso2 ws-security wso2dss wso2ei

我的情况如下:我的WSO2数据服务不安全,我想启用WSS基本身份验证(用户名和密码)(在WSO EI 6.4.0上运行)

为此,我仅在data_service中添加了以下内容,现在它已正确显示为“安全”。

<policy key="conf:repository/components/org.wso2.carbon.security.mgt/policy/scenario1"/>
   <enableSec/>

但是我的问题如下:我无法拨打此服务的电话。不管我做什么,我总是会收到来自Web服务的相同响应:

  <soapenv:Fault xmlns:axis2ns68="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
     <faultcode>axis2ns68:FailedAuthentication</faultcode>
     <faultstring>The security token could not be authenticated or authorized</faultstring>
     <detail/>
  </soapenv:Fault>

我正在从SOAP UI进行尝试,并且尝试了以下操作:

  • 根本没有设置身份验证:服务没有响应,只是 HTTP 401未经授权
  • 任何身份验证(WSS / BasicAuto, 抢先身份验证,...)没有任何效果,总是出现相同的错误。

我还尝试了WSO2中包含的“ try it”:完全相同的问题。

我已经阅读了所有WSO2日志(wso2carbon,wso2error等),并且信息与SOAP Fault中的信息相同,只是Java堆栈中有几行,但完全没用

PS:我已经对较旧的版本(WSO数据服务服务器)执行了相同的操作,并且完全没有问题,我遵循了所有新文档,但是我还在WSO2 EI开源项目中发现了许多Jira票证引发此错误的问题返回“无论是什么根本原因”

1 个答案:

答案 0 :(得分:0)

我终于找到了解决方案。 WSO2EI提供的默认策略无法按原样运行(在WSO2 DSS中按原样运行):

以下有关用户/组授权的部分需要添加到安全策略中:

<sec:CarbonSecConfig xmlns:sec="http://www.wso2.org/products/carbon/security">
    <sec:Authorization>
        <sec:property name="org.wso2.carbon.security.allowedroles">Internal/everyone,test</sec:property>
    </sec:Authorization>
</sec:CarbonSecConfig>