WS-Policy
的目标是提供使
Web
服务应用程序能够指定策略信息所需的机制。具体说来,该规范定义了以下内容:
•
一个称为
策略表达式
的
XML
信息集合,其中包含特定于域的
Web
服务策略信息。
•
一组核心结构,用于指示如何在
Web
服务环境中应用选择和
/
或特定于域的策略断言集合。
术语
策略 Policy
—
策略
是策略替换选项的集合。
策略替换选项 Policy Alternative
—
策略替换选项
是策略断言的集合。
策略断言 Policy Assertion
—
策略断言
表示行为的个别要求、功能或其他属性。
策略断言类型 Policy Assertion Type
—
策略断言类型
表示一类策略断言,并隐式地为断言的实例和特定于断言的语义指定了一个架构。
策略词汇表
—
策略的
策略词汇表
是该策略中使用的所有策略断言类型的集合。
策略表达式
—
策略表达式
是策略的
XML
信息集表示形式,它可以是标准形式,也可以是等效的简约形
式。
策略主体
—
策略主体
是可以将策略与其相关联的实体(例如,终结点、消息、资源、交互)。
策略范围
—
策略范围
是可以将策略应用于的策略主体的集合。
策略附件— 策略附件是一种用于将策略与一个或多个策略范围相关联的机制。
一个可能的策略示例如下所示:
<wsp:Policy
xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"
xmlns:wsp="http://www.w3.org/ns/ws-policy" >
<wsp:ExactlyOne>
<wsp:All>
<sp:SignedParts>
<sp:Body/>
</sp:SignedParts>
</wsp:All>
<wsp:All>
<sp:EncryptedParts>
<sp:Body/>
</sp:EncryptedParts>
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>
其中<wsp:policy>表示该描述为一个策略
而<wsp:ExactlyOne>与<wsp:All>为策略可替代项,他们描述了一组策略断言之间的组织关系。这两个标签都可以以孩子的形式包含策略断言。在本例中<sp:EncryptedParts>和<sp:SignedParts>分别表明了一种断言。
<wsp:ExactlyOne>与<wsp:All>不同的地方在于<wsp:ExactlyOne>表示该可替代项包含的断言中,只有一个被采用。而<wsp:All>表示该可替代项包含的断言中,所有都必须被采用。
<wsp:ExactlyOne>与<wsp:All>之间可以嵌套,如本例所示。