0

我有一个 XML(WSDL) 文件,我想使用 .XSLT 文件对其进行管理。我想在我的 .XSLT 文件中设置 IP 权限,以查看 WSDL 的某些部分,而某些受限 IP 可以看到我的 WSDL 的某些部分。我有这个 WSDL:

          <wsdl:types>
        ...
      </wsdl:types>

      <wsdl:message>
        ...
      </wsdl:message>

      <wsdl:portType name="countrySoap">
         <wsdl:operation name="GetCountryByCountryCode">
             <wsdl:documentation>Get country name by country code</wsdl:documentation>
             <wsdl:input message="tns:GetCountryByCountryCodeSoapIn" />
             <wsdl:output message="tns:GetCountryByCountryCodeSoapOut" />
         </wsdl:operation>
        <wsdl:operation name="GetISD">
            <wsdl:documentation>Get International Dialing Code </wsdl:documentation>
            <wsdl:input message="tns:GetISDSoapIn" />
            <wsdl:output message="tns:GetISDSoapOut" />
        </wsdl:operation>
        ...
      </wsdl:portType>

  ....

这是我的 .xslt 文件:

    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <xsl:output method="xml" indent="yes"/>

        <xsl:template match="@* | node()">
            <xsl:copy>
                <xsl:apply-templates select="@* | node()"/>
            </xsl:copy>
        </xsl:template>

  <xsl:template match="wsdl:operation[@name = 'GetISD']" />
</xsl:stylesheet>

现在我想设置 IP 权限,例如: 10.10.10.1 看不到我的 WSDL 的这一部分:

 <wsdl:operation name="GetISD">
    <wsdl:documentation>Get International Dialing Code </wsdl:documentation>
    <wsdl:input message="tns:GetISDSoapIn" />
    <wsdl:output message="tns:GetISDSoapOut" />
</wsdl:operation>

我该怎么做?

4

1 回答 1

0

您可以Authorization在操作级别使用来实现这一目标吗?在实现 Web 服务操作时,定义roles具有有效权限的用户可以访问某些操作。通过仅限制他们的视图,您仍然必须处理未经授权的服务访问

于 2013-01-28T17:20:08.757 回答