利用Oracle9i XML DB解决复杂编码问题
2007-07-13 12:36:34 来源:WEB开发网在线产品商店和单一登录
为了阐明另一种方法,一个独立的在线商店模拟使用了Oracle 9iAS SSO来验证用户。SSO使用户只需注册一次就可以登录到Oracle 9iAS及其他Web应用程序。这个示例应用程序使用数字证书来注册到通过JAZN被置于Oracle 9ias SSO服务器的保护之下的Web应用程序。JAZN是Oracle对Java验证和授权服务(Java Authentication and Authorization Service ,JAAS)的实现,JAAS则是使服务能够对用户进行验证并授权他们使用应用程序资源的Java包。
SSO服务器使用一个加密的SSL通道为客户端Web浏览器提供一个cookie,应用程序可以使用这个cookie对用户进行验证,而无需用户登录。一旦用户通过了验证,授权过程就会启动,为用户授予访问特权资源的权限,如在数据库中插入行或对文件进行写操作。
这个示例提供了一个要求用户登录到在线办公用品商店的Web应用程序。访问该应用程序主页URL的用户被重定向到SSO服务器,由JAAS进行验证。这个示例使用数字证书对用户进行验证,用户无需提供用户名和密码就可以登录。
成功登录后,用户可以购买产品并通过信用卡支付。这个示例使用一个信用卡Web服务来校验用户的信用卡号。它还确认用户拥有足够的资金额来购买产品。Web客户端通过SSL通道与Web服务通信,并使用数字证书来验证Web服务。
使用XML DB的信用卡支付网关
信用卡支付网关示例应用程序使用了Oracle 9i XML DB (在Oracle 9i数据库第2版及更高版本中提供)的特性来模拟信用卡公司在互联网上提供的一些后端功能。这个应用程序在XMLType表中以XML文档的方式管理客户简档、账户余额和信用卡持有者及商家的其他数据,通过模拟实际商店中的信用卡采购而生成购买请求。
对于每次购买,经销商都会使用一个客户端应用程序来提交具体数据,包括信用卡号和金额以及商家的账号。客户端调用Web服务,由Web服务根据信用卡持有者的账号对请求进行校验并返回结果。
Web服务是部署到OC4J上的用Java编写的无状态、远程过程调用形式的Web服务。客户端Java类通过JSP接收输入数据并调用Web服务的方法。然后,Web服务调用一个PL/SQL过程来校验请求,并将来自PL/SQL过程的结果回复给客户端。该应用程序将合法的交易存储在事务处理表CPG_TRANSACTIONS中。
更多精彩
赞助商链接