您可以使用“条件”定义策略的限制条件。例如,为某个薪金应用程序定义策略时,可以为该操作定义一个条件,限定只能在特定的时间内访问该应用程序。另外,您还可以定义另一种条件,限定只有当请求是来自指定的一组 IP 地址或公司内部网时才允许执行该操作。
此外,条件还可以用于配置同一个域的不同 URI 上的不同策略。例如,http://org.example.com/hr/*jsp 只能由 org.example.net 在 9 AM 到 5 PM 之间进行访问,而 http://org.example.com/finance/*.jsp 可以由 org.example2.net 在 5 AM 到 11 PM 之间进行访问。同时使用“IP 条件”和“时间条件”就可以实现这一目的。 将规则的资源指定为 http://org.example.com/hr/*.jsp,策略将应用到 http://org.example.com/hr 下的所有 JSP 文件,包括子目录中的 JSP 文件。
候选、规则、资源、主题、条件、操作和值等术语分别对应 policy.dtd 中的 Referral、Rule、ResourceName、Subject、Condition、Attribute 和 Value。
可以添加的默认条件是:
如果用户的验证级别大于或等于条件中设置的验证级别,则应用该策略。
此属性指明验证的信任级别。
可以使用验证级别条件来指定领域中已注册的验证模块级别之外的级别。当对已通过其他领域验证的用户应用某个策略时,这将非常有用。
对于“LE 验证”,如果用户的验证级别低于或等于条件中设置的验证级别,则应用该策略。可以使用验证级别条件来指定领域中已注册的验证模块级别之外的级别。当对已通过其他领域验证的用户应用某个策略时,这将非常有用。
基于“IP 地址”的范围设置此条件。 您可以定义的字段包括:
起始/结束 IP 地址 — 指定 IP 地址范围。
DNS 名称 — 指定 DNS 名称。此字段可以是全限定主机名,也可以是采用以下格式之一的字符串:
domainname
*.domainname
基于用户的会话数据设置此条件。您可以修改的字段包括:
最长会话时间 — 指定在发起会话时,策略可应用的最长持续时间。
终止会话 — 如果选择该字段,当会话时间超过在“最长会话时间”字段中定义的最长允许时间时,系统将终止该用户会话。
可使用该条件保护敏感资源以使其仅在验证后的有限时间内可用。
根据用户的 Access Manager 会话中设置的属性值决定策略是否适用于请求。在策略评估期间,仅当用户会话的每个属性值均符合条件中的定义时,条件才会返回 true。对于在条件中定义了多个值的属性,令牌只要具有条件的属性中列出的一个值就足够了。例如,可使用该条件来应用基于外部库属性的策略。 验证后期插件可设置基于外部属性的会话属性。
基于时间限制设置此条件。这些字段包括:
起始/结束日期 — 指定日期范围。
时间 — 指定一天内的时间范围。
天数 — 指定表示天数的范围。
时区 — 指定一个标准的或自定义的时区。自定义的时区只能是可由 Java 识别的时区 ID(例如,PST)。如果未指定值,默认值为 Access Manager JVM 中设置的时区。