本文由@呆代待殆原创,转载请注明出处。

一、<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> 元素的结构与相关的评估的更多相关文章

  1. 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认识 ...

  2. [20171113]修改表结构删除列相关问题4.txt

    [20171113]修改表结构删除列相关问题4.txt --//连续写了3篇修改表结构删除列的相关问题,链接如下: http://blog.itpub.net/267265/viewspace-214 ...

  3. [20171113]修改表结构删除列相关问题3.txt

    [20171113]修改表结构删除列相关问题3.txt --//维护表结构删除字段一般都是先ALTER TABLE <table_name> SET UNUSED (<column_ ...

  4. [20171113]修改表结构删除列相关问题2.txt

    [20171113]修改表结构删除列相关问题2.txt --//测试看看修改表结构删除列产生的redo向量,对这些操作细节不了解,分析redo看看. 1.环境:SCOTT@book> @ &am ...

  5. [20171113]修改表结构删除列相关问题.txt

    [20171113]修改表结构删除列相关问题.txt --//维护表结构删除字段一般都是先ALTER TABLE <table_name> SET UNUSED (<column_n ...

  6. AJPFX关于表结构的相关语句

    //表结构的相关语句==================================== 建表语句: create table 表名(                                ...

  7. HTML(二)HTML元素(整体结构,块级元素,内联元素,结构元素,交互元素,元素嵌套规则)

    HTML整体结构解释 <!DOCTYPE html> // 文件应以"<!DOCTYPE ......>"首行顶格开始,推荐使用"<!DOC ...

  8. n*m的矩阵,行和列都递增有序,求是否出现target元素(面试题)

    题目描述:给定一个n*m的矩阵,矩阵的每一行都是递增的,每一列也是递增的,给定一个元素target,问该target是否在矩阵中出现. 思路:先从最左下角的元素开始找,三种情况: 1. 如果该元素大于 ...

  9. Tomcat 目录结构以及相关规范的介绍

    目录 安装tomcat tomcat目录结构 tomcat/bin目录 tomcat/conf目录 tomcat/logs目录 JavaEE对项目结构的规范 war包 安装Tomcat 参考:安装Ja ...

随机推荐

  1. 在VS2012中实现Ext JS的智能提示

    Visual Studio 2012太强大了,居然能自己会去提取Ext JS的类的属性和方法,从而实现只能提示.下面就来介绍一下实现这个功能. 在Visual Studio 2012中随便创建一个We ...

  2. printf函数重定向

    printf函数底层会调用fputc函数 /*重定向c库函数printf到USART1*/ int fputc(int ch, FILE *f) { /*发送一个字节数据USART1 */ USART ...

  3. ZOJ 3195 Design the city LCA转RMQ

    题意:给定n个点,下面n-1行 u , v ,dis 表示一条无向边和边权值,这里给了一颗无向树 下面m表示m个询问,问 u v n 三点最短距离 典型的LCA转RMQ #include<std ...

  4. How Tomcat Works(十三)

    本文分析tomcat容器的安全管理,servlet技术支持通过配置部署描述器(web.xml文件)来对受限内容进行访问控制:servlet容器是通过一个名为验证器的阀来支持安全限制的,当servlet ...

  5. WPF让人哭笑不得的资源

    前几天遇到了一个让我哭笑不得的bug,我写的Wpf程序在Win7里可以运行,到XP.WindowsServer里运行点击某个控件之后闪退,不报任何错,在后台代码里trycatch也捕捉不到任何异常.很 ...

  6. javascript自执行函数为什么要把windows作为参数传进去

    http://segmentfault.com/q/1010000000311686 (function (window, $, undefined) { play=function(){ $(&qu ...

  7. 不需要JAVAScript完成分页查询功能

    分页查询之前已经说过,现在用另一种方法实现,换汤不换药.但是更简单. view层代码: 控制层代码: 业务逻辑层,主要看一下方法count1()的代码: count1()方法的功能就是控制翻页,如果传 ...

  8. git强制覆盖本地文件

    git fetch --all git reset --hard origin/master

  9. Linux下getopt()函数的简单使用

    最近在弄Linux C编程,本科的时候没好好学啊,希望学弟学妹们引以为鉴. 好了,虽然啰嗦了点,但确实是忠告.步入正题: 我们的主角----getopt()函数. 英雄不问出处,getopt()函数的 ...

  10. github 多帐户使用

    同一台电脑有2个github账号?咋办 比如一个公司账号一个个人账号. 私人账号如下: 邮箱example@126.com 账号:example 公司工作账号如下: work@xx.com 账号:my ...