某些组织需要高级验证方案,其中用户将根据他们尝试要访问的资源用特定模块进行验证。基于资源的验证是 Access Manager 的一项功能,该功能要求用户必须通过用于保护资源的特定验证模块而非默认验证模块进行验证。 此功能仅适用于首次用户验证。
该功能与会话升级中所描述的基于资源的验证不同。后者不具有任何限制。
基于资源的验证包含以下限制:
如果适用于此资源的策略包含多个验证模块,系统将任意选择一个验证模块。
级别和模式是可为此策略定义的仅有的两个条件。
此功能在不同的 DNS 域中不起作用。
一旦安装了 Access Manager 和策略代理,便可对基于资源的验证进行配置。 要执行此操作,需要将 Access Manager 指向网关 servlet。
打开 AMAgent.properties。
AMAgent.properties 可在 /etc/opt/SUNWam/agents/config/ 中找到(在 Solaris 环境中)。
注释掉以下行:
#com.sun.am.policy.am.loginURL = http://Access Manager_server_host.domain_name:port/amserver/UI/Login。
将以下行添加到 文件:
com.sun.am.policy.am.loginURL = http://AccessManager_host.domain_name:port/amserver/gateway
网关 servlet 是使用“策略评估 API”开发的,可使用它来编写用于完成基于资源的验证的自定义机制。参见 Access Manager 开发者指南中《Sun Java System Access Manager 7.1 Developer’s Guide》一书中的《Sun Java System Access Manager 7.1 Developer’s Guide》中的第 3 章 “Using the Policy APIs”。
重新启动代理。