編寫閘道

storeCallPDP.xsl 樣式表的詳細資料。

檢查 storeCallPDP.xsl 樣式表,並注意下列各點:
  1. 併入 storeSendToPDP.xsl 樣式表。此樣式表包含呼叫 storeXAMLFW 的邏輯。
  2. 在 storeSendToPDP 內呼叫範本 call_PDP。
  3. 從呼叫回應中擷取決策,例如,「允許」。
  4. var:/context/response/displayfilter 值設為 allData.xsl 或 noPriceInfo.xsl 樣式表。
  5. XACML 中用於「編寫」的結構 (storePrivateDataXACML.xml) 幾乎與 StoreWSP 實務範例中使用的結構相同。差異為僅「經理」角色具有存取權。

storeCallPDP.xsl

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:dp="http://www.datapower.com/extensions"
extension-element-prefixes="dp" exclude-result-prefixes="dp">
  <xsl:include href="storeSendToPDP.xsl" />
    <xsl:template match="/">
      <xsl:call-template name="call_PDP">
        <xsl:with-param name="resource" select="'StorePrivateData'" />
      </xsl:call-template>
      <xsl:variable name="decision">
        <xsl:copy-of select="dp:variable('var://context/snip/xacml/BacksideXacmlResponse')/
    *[local-name()='url-open']/*[localname()='response']/*[local-name()='Envelope']/*[local-name()='Body']/
    *[local-name()='Response']/*[local-name()='Result']/*[localname()='Decision']" />
      </xsl:variable>
      <xsl:message dp:priority="debug">
        <DECISION-FROM-RTSS>
          <xsl:value-of select="$decision" />
        </DECISION-FROM-RTSS>
      </xsl:message>
      <xsl:choose>
      <xsl:when test="$decision = 'Permit'">
        <xsl:message dp:priority="debug">****** 設定專用過濾器 ********</xsl:message>
        <dp:set-variable name="'var://context/response/displayFilter'" value="'local:///allData.xsl'" />
      </xsl:when>
      <xsl:otherwise>
        I<dp:set-variable name="'var://context/response/displayFilter'" value="'local:///noPriceInfo.xsl'" />
      </xsl:otherwise>
    </xsl:choose>
  </xsl:template>
</xsl:stylesheet>

概念 概念

反饋


「時間戳記」圖示 前次更新: 2014 年 3 月 5 日


http://publib.boulder.ibm.com/infocenter/prodconn/v1r0m0/topic/com.ibm.scenarios.soawdpwsrr25.doc/topics/csoa2_sample_redaction_policy.htm