XACML-<Target> 元素的结构与相关的评估
本文由@呆代待殆原创,转载请注明出处。
一、<Target>元素的结构
<Target>元素标识的父元素被用于评估决定请求。<Target>元素即可以做为<PolicySet>和<Policy>的子元素也可以做为<Rule>的子元素。
Target元素包含一个或多个<Anyof>元素,<Target>元素标准定义如下:

<AnyOf>元素包含一个或者多个<AllOf>元素,<AnyOf>元素的标准定义如下:
<AllOf>元素包含一个或者多个<Match>元素,<AllOf>元素的标准定义如下:
<Match>元素,就是<Target>的最里层了,<Match>元素定义如下:
可以看出,<Match>由MatchId属性、<AttributeValue>元素、<AttributeDesignator>元素、<AttributeSelector>元素组成。
MatchId:这个属性必须是“xs:anyURI”类型,并且要有合法值,定义了一个Match的匹配方法,注意,是方法,不要觉得名字里有Id就把他当成Match的标识。
<AttributeValue>:这个是嵌入的属性值。
<AttributeDesignator>:这个元素类似一个方法,能够用于验证一个或多个属性值,这些属性值来自request上下文的一个<Attributes>元素,会返回一个bag用于MatchId指明的方法。
<AttributeSelector>:这个元素类似一个方法,能够用于验证一个或多个属性值,这些属性值来自请求上下文的一个<Content>元素,会返回一个bag用于MatchId指明的方法。
二、有关于Target的评估
<Match>的返回值由内部的方法决定,(细节这里暂时忽略)返回值有True、False、Indeterminate
Match与AllOf
<AllOf>的返回值有:Match、No Match、Indeterminate
如果<AllOf>里所有的<Match>都返回true,则<AllOf>返回Match
如果没有Fasle 且至少有一个Indeterminate,则<AllOf>返回Indeterminate
如果至少有一个False,则<AllOf>返回NO match
如下表:
AllOf与AnyOf
<AnyOf>的返回值有:Match、No Match、Indeterminate
如果<AnyOf>里面至少有一个<AllOf>返回Match,则<AnyOf>返回Match
如果没有Match且至少有一个Indeterminate,则<AnyOf>返回Indeterminate
如果<AnyOf>里面所有的<AllOf>都返回No match,则<Anyof>返回No Match
如下表:
AnyOf与Target
<Target>的返回值有:Match、No Match、Indeterminate
注意:空Target可以匹配任何请求!!!
如果<Target>里面所有<AnyOf>都返回Match,则<Target>返回Match
如果至少有一个<AnyOf>返回了No Match,则<Target>返回No Match
其他情况都返回,Indeterminate
如下表:
参考资料:
[1] http://docs.oasis-open.org/xacml/3.0/xacml-3.0-core-spec-os-en.html#_Toc325047147
XACML-<Target> 元素的结构与相关的评估的更多相关文章
- html dl dt dd标签元素语法结构与使用
dl dt dd认识及dl dt dd使用方法 标签用于定义列表类型标签. dl dt dd目录 dl dt dd介绍 结构语法 dl dt dd案例 dl dt dd总结 一.dl dt dd认识 ...
- [20171113]修改表结构删除列相关问题4.txt
[20171113]修改表结构删除列相关问题4.txt --//连续写了3篇修改表结构删除列的相关问题,链接如下: http://blog.itpub.net/267265/viewspace-214 ...
- [20171113]修改表结构删除列相关问题3.txt
[20171113]修改表结构删除列相关问题3.txt --//维护表结构删除字段一般都是先ALTER TABLE <table_name> SET UNUSED (<column_ ...
- [20171113]修改表结构删除列相关问题2.txt
[20171113]修改表结构删除列相关问题2.txt --//测试看看修改表结构删除列产生的redo向量,对这些操作细节不了解,分析redo看看. 1.环境:SCOTT@book> @ &am ...
- [20171113]修改表结构删除列相关问题.txt
[20171113]修改表结构删除列相关问题.txt --//维护表结构删除字段一般都是先ALTER TABLE <table_name> SET UNUSED (<column_n ...
- AJPFX关于表结构的相关语句
//表结构的相关语句==================================== 建表语句: create table 表名( ...
- HTML(二)HTML元素(整体结构,块级元素,内联元素,结构元素,交互元素,元素嵌套规则)
HTML整体结构解释 <!DOCTYPE html> // 文件应以"<!DOCTYPE ......>"首行顶格开始,推荐使用"<!DOC ...
- n*m的矩阵,行和列都递增有序,求是否出现target元素(面试题)
题目描述:给定一个n*m的矩阵,矩阵的每一行都是递增的,每一列也是递增的,给定一个元素target,问该target是否在矩阵中出现. 思路:先从最左下角的元素开始找,三种情况: 1. 如果该元素大于 ...
- Tomcat 目录结构以及相关规范的介绍
目录 安装tomcat tomcat目录结构 tomcat/bin目录 tomcat/conf目录 tomcat/logs目录 JavaEE对项目结构的规范 war包 安装Tomcat 参考:安装Ja ...
随机推荐
- windows下揪出java程序占用cpu很高的线程 并找到问题代码 死循环线程代码
我的一个java程序偶尔会出现cpu占用很高的情况 一直不知道什么原因 今天终于抽时间解决了 系统是win2003 jvisualvm 和 jconsole貌似都只能看到总共占用的cpu 看不到每个线 ...
- linux下find查找命令用法
Linux下find命令在目录结构中搜索文件,并执行指定的操作.Linux下find命令提供了相当多的查找条件,功能很强大.由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时 ...
- 集成StyleCop到Jenkins CI
这是集成完stylecop之后的Jenkins,可以看到code review结果随每个build变化的图表,Build History里面可以看到#150之前的build状态是unstable,这是 ...
- Unity3d:播放物理目录下的MP3文件
u3d里,是支持播放MP3文件的,但要放到资源里,不支持播放物理目录下的MP3文件.由于界面上无需显示,只是当作背景音乐来播放,所以想到调用c#的组件来解决此问题.主要代码都在附件中,根据需要加到自己 ...
- 如何让label和textblock分成两行
http://stackoverflow.com/questions/183406/xaml-newline-in-string-attribute http://www.developerfusio ...
- js 浮点小数计算精度问题 parseFloat 精度问题
在js中进行以元为单位进行金额计算时 使用parseFloat会产生精度问题 var price = 10.99; var quantity = 7; var needPay = parseFloat ...
- 无责任Windows Azure SDK .NET开发入门篇一[Windows Azure开发前准备工作]
一.Windows Azure开发前准备工作 首先我们需要了解什么是 Azure SDK for .NET?微软官方告诉我们:Azure SDK for .NET 是一套应用程序,其中包括 Visua ...
- spring4 定时任务
一.spring 定时任务 spring 定时任务 ,最好使用quartz 实现.下面我以spring4为例 二.实战(默认) 1.pom配置 <!-- spring time task --& ...
- struts2对一些属性的使用和对session封装对象类型采用jstl技术的遍历(配图解)
在struts2中如何实现像jsp中request,session,appliaction的使用.其实有两种方法.下面通过一个案列来说明两个方法的使用. 先写一个test.java类 packagec ...
- SAP实施方法与过程——ASAP
ASAP是SAP公司为使R/3项目的实施更简单.更有效的一套完整的快速实施方法.ASAP优化了在实施过程中对时间.质量和资源的有效使用等方面的控制.它是一个包括了使得项目实施得以成功所有基本要素的完整 ...