说明:本实验是OSB 11g 开发指南之三的继续。
为了提高信用卡验证服务的高可用性,我们增加了多个服务提供者,它们对安全认证的要求各不相同。
为了保持服务入口的安全策略不变,我们统一规定:OSB上的ValidateCredit Proxy Service需要按照UserNameToken的方式验证。
应用设计如下:
重要步骤说明:
1. 准备工作:配置Keystore。
(1)把default-keystore.jks复制到C:\Oracle\Middleware\user_projects\domains\soa_osb_domain\config\fmwconfig目录下。
(2)在EM中在EM中配置Keystore。
(3)在OSB Console中增加用户:joe。
(4)在EM中Credentials中增加Key:joe-key。
2. 保护ValidateCredit Proxy Service,为其配置OWSM策略:oracle/wss_username_token_service_policy。
测试时,不能像以前那样输入数据直接执行,必须要配置oracle/wss_username_token_client_policy,并且附上joe-key。
3. 在JDeveloper中,为getCreditCardStatus Reference配置oracle/wss_username_token_client_policy和joe-key。
右键点击getCreditCardStatus Reference,选择“Config WS Policies..."。
重新发布POProcessing,可以像往常一样测试,因为getCreditCardStatus Reference已经配置了oracle/wss_username_token_client_policy和joe-key。
在实际情况中,应该按登录用户的key来验证,如何配置呢?
3. 从OSB传播用户身份到SOA。
上面的实验是从SOA传播用户身份到OSB,现在我们要从OSB传播用户身份到SOA。
(1)为validationForCC中的getStatusByCC Service配置oracle/wss11_saml_token_service_policy。
可以在EM中配置,也可以在JDeveloper中配置。
(2)在OSB Console中为validationForCC Business Service配置oracle/wss11_saml_token_client_policy。
因为validationForCC Business Service指向的就是validationForCC SOA应用的入口。
没有评论:
发表评论