【发布时间】:2019-09-21 02:46:55
【问题描述】:
我们有一个包含很多规则的 XACML 文件,我们不想处理所有规则。我们正在尝试添加一个不会适用于所有规则而仅适用于某些规则的 Target 标签。
我们尝试使用正则表达式 "abc:def:gh:1234.*" 并希望仅处理与此表达式匹配的属性的规则
但是有这种模式的规则不匹配,我们想匹配这种模式
"abc:def:gh:1234:test"
"abc:def:gh:1234-test"
只有这个字符串模式匹配
"abc:def:gh:1234.Test" 4 之后的任何内容都带有“。”正在匹配
我们只需要检查字符串的开头并尝试过
"^abc:def:gh:1234"
我们也尝试过包含
"abc:def:gh:1234"
但是没有一个正则表达式有效,非常感谢任何正则表达式的帮助
<Target>
<AnyOf>
<AllOf>
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-regexp-match">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">abc:def:gh:1234.*</AttributeValue>
<AttributeDesignator AttributeId="jpmc:resource:resource-id" Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="false"/>
</Match>
</AllOf>
</AnyOf>
</Target>
【问题讨论】:
-
您使用的是什么授权引擎?此外,这似乎更像是一个正则表达式问题,而不是 XACML 本身。您是否尝试过评估 Java 中的正则表达式?
-
你为什么不给一个前后。无法说出你想要做什么!!!
标签: regex regex-negation xacml abac