- 浏览: 37597 次
- 性别:
- 来自: 北京
最新评论
声明:该博文来自热爱JAVA,热爱生活。原文地址http://maping930883.blogspot.com/
我们希望设置如下安全策略:使用用户名/口令的方式保护POProcessing和validationForCC,信息要求签名与加密。
1. 使用用户名/口令的方式保护POProcessing。receivePO是POProcessing的入口服务,现在要求必须提供用户名/口令才能访问该服务,我们为receivePO配置wss_username_token_service_policy策略。
2. 使用SAML在多个SOA组件之间传播身份信息。
在POProcessing中调用validationForCC服务的Reference是getCrediCardStatus,为了把用户身份信息从receivePO中一路传播过来,我们为getCrediCardStatus配置wss11_saml_token_with_message_protection_client_policy策略。
3. 使用用户名/口令的方式保护validationForCC。getStatusByCC是validationForCC的入口服务,这里的用户名和口令是从前面的组件传播过来的,我们为其配置wss11_saml_token_with_message_protection_service_policy策略。
4. 在EM上测试。
如果想去掉某些策略,不必删除,可以Disable掉,这样如果想再启用不用重新配置。
5. 使用Java 客户端测试。
(1)JDeveloper中可以根据WSDL地址,创建WebService Proxy,它会帮助我们生成所有需要的类。
这里我把机器名改成了IP地址,否则JDeveloper会报告找不到WSDL,原因不明,留待以后查证。
(2)这一步是关键, 要选中“oracle/wss_username_token_client_policy”。
(3)修改代码如下:
main方法内容如下:
public static void main(String[] args) {
receivePO = new ReceivePO();
SecurityPoliciesFeature securityFeatures =
new SecurityPoliciesFeature(new String[] { "oracle/wss_username_token_client_policy" });
Execute_ptt execute_ptt = receivePO.getExecute_pt(securityFeatures);
Map reqContext = ((BindingProvider)execute_ptt).getRequestContext();
reqContext.put(BindingProvider.USERNAME_PROPERTY, "weblogic");
reqContext.put(BindingProvider.PASSWORD_PROPERTY, "welcome1");
PurchaseOrderType po = new PurchaseOrderType();
po.setCustID("1111");
po.setID("2121");
po.setProductName("Bluetooth Headset");
po.setItemType("Electronics");
po.setPrice(new BigDecimal("49.99"));
po.setQuantity(new BigDecimal(1));
po.setCcType("Mastercard");
po.setCcNumber("8765-8765-8765-8765");
execute_ptt.execute(po);
}
(4)在EM中,观察到传入的Payload内容如下:
可以看出使用username_token的方式,密码是明文的。
6. 使用ADF 测试。
这里笔者通过生成Web Service Data Control,然后在页面上调用该服务。
(1)
(2)生成的Data Control,内容如下:
新建一个.jspx页面后,拖放part1(三道橘红色图标对应的part1)生成表单。
拖放execute(Object) Operation生成Submit按钮。
(3)配置客户端WebService安全性。
因为被调用的服务配置了username_token Policy,因此需要调用者提供username和password。
选中.dcx文件,在Structure面板中,右键Data Control生成的服务,选择“Define Web Service Security..."
选中“oracle/wss_username_token_client_policy”,点击“Override Properties”,
加入用户weblogic/welcome1
测试,在EM上观察到传入的Payload内容,与5.4结果类似。
我们希望设置如下安全策略:使用用户名/口令的方式保护POProcessing和validationForCC,信息要求签名与加密。
1. 使用用户名/口令的方式保护POProcessing。receivePO是POProcessing的入口服务,现在要求必须提供用户名/口令才能访问该服务,我们为receivePO配置wss_username_token_service_policy策略。
2. 使用SAML在多个SOA组件之间传播身份信息。
在POProcessing中调用validationForCC服务的Reference是getCrediCardStatus,为了把用户身份信息从receivePO中一路传播过来,我们为getCrediCardStatus配置wss11_saml_token_with_message_protection_client_policy策略。
3. 使用用户名/口令的方式保护validationForCC。getStatusByCC是validationForCC的入口服务,这里的用户名和口令是从前面的组件传播过来的,我们为其配置wss11_saml_token_with_message_protection_service_policy策略。
4. 在EM上测试。
如果想去掉某些策略,不必删除,可以Disable掉,这样如果想再启用不用重新配置。
5. 使用Java 客户端测试。
(1)JDeveloper中可以根据WSDL地址,创建WebService Proxy,它会帮助我们生成所有需要的类。
这里我把机器名改成了IP地址,否则JDeveloper会报告找不到WSDL,原因不明,留待以后查证。
(2)这一步是关键, 要选中“oracle/wss_username_token_client_policy”。
(3)修改代码如下:
main方法内容如下:
public static void main(String[] args) {
receivePO = new ReceivePO();
SecurityPoliciesFeature securityFeatures =
new SecurityPoliciesFeature(new String[] { "oracle/wss_username_token_client_policy" });
Execute_ptt execute_ptt = receivePO.getExecute_pt(securityFeatures);
Map reqContext = ((BindingProvider)execute_ptt).getRequestContext();
reqContext.put(BindingProvider.USERNAME_PROPERTY, "weblogic");
reqContext.put(BindingProvider.PASSWORD_PROPERTY, "welcome1");
PurchaseOrderType po = new PurchaseOrderType();
po.setCustID("1111");
po.setID("2121");
po.setProductName("Bluetooth Headset");
po.setItemType("Electronics");
po.setPrice(new BigDecimal("49.99"));
po.setQuantity(new BigDecimal(1));
po.setCcType("Mastercard");
po.setCcNumber("8765-8765-8765-8765");
execute_ptt.execute(po);
}
(4)在EM中,观察到传入的Payload内容如下:
可以看出使用username_token的方式,密码是明文的。
6. 使用ADF 测试。
这里笔者通过生成Web Service Data Control,然后在页面上调用该服务。
(1)
(2)生成的Data Control,内容如下:
新建一个.jspx页面后,拖放part1(三道橘红色图标对应的part1)生成表单。
拖放execute(Object) Operation生成Submit按钮。
(3)配置客户端WebService安全性。
因为被调用的服务配置了username_token Policy,因此需要调用者提供username和password。
选中.dcx文件,在Structure面板中,右键Data Control生成的服务,选择“Define Web Service Security..."
选中“oracle/wss_username_token_client_policy”,点击“Override Properties”,
加入用户weblogic/welcome1
测试,在EM上观察到传入的Payload内容,与5.4结果类似。
发表评论
-
SOA Suite 11g 开发指南之十四:使用BAM (Business Activity Monitor)
2012-08-06 18:40 737不知道为什么,原文作者这篇博文没有内容,所以只好自己加上,和前 ... -
SOA Suite 11g 开发指南之十三:使用SDO 访问与操作数据
2012-08-06 18:22 1083声明:该博文来自热爱JAVA,热爱生活。原文地址http:// ... -
SOA Suite 11g 开发指南之十二:使用EDN处理事件
2012-08-06 18:11 823. 声明:该博文来自热爱JAVA,热爱生活。原文地址http: ... -
SOA Suite 11g 开发指南之十:增加异常处理
2012-08-03 09:46 973声明:该博文来自热爱JAVA,热爱生活。原文地址http:// ... -
SOA Suite 11g 开发指南之九:为物流商配置JMS Queue
2012-08-03 09:34 888声明:该博文来自热爱JAVA,热爱生活。原文地址http:// ... -
SOA Suite 11g 开发指南之八:增加物流配送流程 Fulfillment
2012-08-03 09:31 793. 声明:该博文转自热 ... -
SOA Suite 11g 开发指南之七:增加 Business Rules
2012-08-03 09:28 778声明:该博文转自热爱java,热爱生活 原文地址http:// ... -
SOA Suite 11g 开发指南之六:增加人工工作流
2012-08-03 09:24 725声明:该博文转自热爱java,热爱生活 原文地址http:// ... -
SOA Suite 11g 开发指南之五:使用BPEL编排订单处理流程
2012-08-02 22:27 916声明:该博客转自热爱java,热爱生活,原文地址http:// ... -
SOA Suite 11g 开发指南之四:创建 Purchase Order Routing 服务
2012-08-02 22:14 858声明:该博文转自热爱java,热爱生活,原地址为http:// ... -
SOA Suite 11g 开发指南之三:创建 Credit Card Validation 服务
2012-08-02 22:12 898声明:该博文转自热爱java,热爱生活,原地址为http:// ... -
SOA Suite 11g 开发指南之二:实验环境准备
2012-08-02 22:08 961声明:该博文转自热爱j ... -
SOA Suite 11g 开发指南之一:场景介绍
2012-07-31 22:08 755声明:本博文来自http://maping930883.blo ...
相关推荐
要获取所需的补丁列表,请登录 Oracle MetaLink 并搜索 Note 738108.1 “SOASuite 使用 RAC 数据库进行 XA 部署所需补丁”。 #### BPEL、ESB 和适配器数据库连接 - **BPEL 进程管理器**、**企业服务总线 (ESB)** ...
Oracle Application Server 10g Release 3 (10.1.3.1.0) provides the Oracle SOA Suite, which is a complete set of service infrastructure components for creating, deploying, and managing Service Oriented ...
Oracle 11g是一款强大的关系型数据库管理系统,其在企业级应用中占据着重要的地位。在Oracle 11g中,Java Archive (JAR) 文件是包含Java类、资源和其他相关文件的容器,用于实现数据库的功能扩展和自定义。这些JAR...
然而,OWSM可以与使用这些技术开发的Web服务集成,以提供全面的安全保护。 ### 实施OWSM的最佳实践 - **定期更新策略**:随着威胁环境的变化,应定期审查和更新安全策略。 - **培训员工**:确保所有涉及Web服务的...
OWSM-custom-assertion-serviceexecutionreporter 此存储库包含自定义 OWSM 断言和策略(适用于 FMW 12c - 12.1.3)的源代码,可以附加这些源代码以将服务的每次执行报告给 JMS 目标
3. **安全设置**:为了保护数据库资源,你需要设置Web服务的安全策略。这可能包括身份验证、授权和加密。例如,你可以使用WS-Security标准来添加数字签名和消息加密,确保数据在传输过程中不被篡改。 4. **客户端...
接着,文档强调了“支持的安全认证配置”,这说明BIEE11g支持多种安全认证机制,可以通过配置不同的认证方式来满足不同企业的安全需求。这可能包括传统的用户名和密码认证、多因素认证、以及各种第三方认证服务等。 ...
Struts是Apache软件基金会(ASF)的一个开源项目,是一个基于MVC设计模式的Java Web应用程序框架,它使得开发者可以使用Java Servlet和JavaBean组件来构建动态网站。在实际开发中,Struts框架的一个常见问题就是...
JAXWS官网上下下来的开发java webservice用的jar文件,在cmd下输入java -jar JAXWS2.1.2-20070917.jar即可使用
http://passport.csdn.net/ActivateUser.aspx?UserName=gouzaide&Code=oWSM8YTA43gQksTZY3OiZs68CJx7y5Lnv0xQK0ZCJKfFrKOhAUQPzdPrqWnRbEGJn0sDGontXms9c1XAWnQJsA%3d%3d<br>试题汇编