日期:2023-01-24 阅读量:0次 所属栏目:计算机应用
这些businessservice的信息集合可以再次加以分类,使web应用服务的描述可以按不同的行业、产品、服务类型或是地域划分来进行。分类的方法的机制与businessentity是类似的。
(3)技术绑定信息:bindingtemplate元素
对于每一个businessservice,存在一个或多个web服务的技术描述bindingtemplate。这些技术描述包括应用程序连接远程web服务并与之通讯所必须的信息。这些信息包括web应用服务的地址、应用服务宿主和调用服务前必须调用的附加应用服务等。另外,通过附加的特性还可以实现一些复杂的路由选择,诸如负载平衡等。
(4)元技术信息:tmodel元素
调用一个服务所需要的信息是在bindingtemplate的结构中定义的。不过一般来说,仅知道web服务所在的地址是不够的。例如,如果知道合作伙伴提供一个web服务来让我下订单,同时也知道这个服务的url,不过如果不知道一些具体的信息,如订单的具体格式,应该使用的协议,需要采用的安全机制,调用返回的响应格式等,那样的话,通过web服务将两个系统集成起来仍然是非常困难的。
当一个程序需要调用某个特定的web服务时,必须根据应用要求得到了足够充分的调用规范等相关信息,以使调用被正确地执行。因此,每一个bindingtemplate元素都包含一个特殊的元素,该元素包含了一个列表,列表的每个子元素分别是一个调用规范的引用。这些引用作为一个标识符的杂凑集合 ,组成了类似指纹的技术标识,用来查找、识别实现了给定行为或编程接口的web服务。
4.3 单点登录
4.3.1单点登录概述
单点登录(single sign on),简称为sso,是目前比较流行的企业业务整合的解决方案之一。sso的定义是用户只需进行一次登录注册,就可以访问多个相互联系的应用系统,而不必反复进行身份认证[4]。
4.3.2单点登录设计
通过web服务实现用户身份验证,验证通过后将自动随机生成ticket,并传给用户,当用户访问其他应用系统时,仅需对ticket进行合法性验证。在这里,web服务只需实现用户登录基本信息验证、ticket生成、ticket合法性验证这三个功能,就可以进行统一身份认证。单点登录模型的体系结构如图4所示[5]。
4.3.3单点登录实现
服务器端在开发时所使用的操作系统为windows server2003,数据库为sql server2000,在eclipse开发环境下进行开发调试,使用tomcat 5作为服务器,axis2作为soap 搜索引擎。当环境部署完成之后,进行应用程序的开发,将单点登录系统以定制方式发布为 web服务,成为服务提供者,为校园不同部门机构门户提供服务。
4.4 ca认证中心
4.4.1 ca简介
ca(certificate authority)[6]是数字证书认证中心的简称,是指发放、管理、废除数字证书的机构。ca的作用是检查证书持有者身份的合法性,并签发证书(在证书上签字),以防证书被伪造或篡改,以及对证书和密钥进行管理[7]。
4.4.2公钥体系结构中的一些基本概念与结构组成
(1)密钥对
在基于公钥体系的安全系统中,密钥是成对生成的,每对密钥由一个公钥和一个私钥组成。在实际应用中,私钥由拥有者自己保存,而公钥则需要公布于众。为了使基于公钥体系的业务能够广泛应用,一个基础性关键的问题就是公钥的分发与管理。
公钥本身并没有什么标记,仅从公钥本身不能判别公钥的主人是谁。
在很小的范围内,比如a和b这样的两个小集体,他们之间相互信任,交换公钥,在互联网上通讯,没有什么问题。这个集体再稍大一点,也许彼此信任也不成问题,但从法律角度讲这种信任也是有问题的。如再大一点,信任问题就成了一个大问题。
(2)证书
互联网络的用户群绝不是几个人互相信任的小集体,在这个用户群中,从法律角度讲用户彼此之间都不能轻易信任。所以公钥加密体系采取了另一个办法,将公钥和公钥的主人名字联系在一起,再请一个大家都信得过有信誉的公正、权威机构确认,并加上这个权威机构的签名,这就形成了证书。
由于证书上有权威机构的签字,所以大家都认为证书上的内容是可信任的;又由于证书上有主人的名字等身份信息,别人就很容易地知道公钥的主人是谁。
(3)ca
ca也拥有一个证书(内含公钥),当然,它也有自己的私钥,所以它有签字的能力。网上的公众用户通过验证ca的签字从而信任ca,任何人都应该可以得到ca的证书(含公钥),用以验证它所签发的证书。
如果用户想得到一份属于自己的证书,他应先向ca提出申请。在ca判明申请者的身份后,便为他分配一个公钥,并且ca将该公钥与申请者的身份信息绑在一起,并为之签字后,便形成证书发给那个用户(申请者)。
如果一个用户想鉴别另一个证书的真伪,他就用ca的公钥对那个证书上的签字进行验证(如前所述,ca签字实际上是经过ca私钥加密的信息,签字验证的过程还伴随使用ca公钥解密的过程),一经验证通过,该证书就被认为是有效的。
ca除了签发证书之外,它的另一个重要作用是证书和密钥的管理。
由此可见,证书就是用户在网上的电子个人身份证,同日常生活中使用的个人身份证作用一样。ca相当于网上公安局,专门发放、验证身份证。
4.4.3认证模块的实现
(1)访问控制的设计思想
用户登录系统时,客户端和服务器端利用数字证书进行双向认证,建立ssl连接,然后查询数据库,对用户进行授权,并将权限集合保存在会话中。之后的交互中,用户每次发出请求,系统都先进行权限判定的过滤,以实现对静态资源(静态html页面、图片资源等)与动态资源(jsp页面、servlet和bean等)的细粒度的访问控制,为系统的安全访问提供有效保障。
(2)数字证书签发工具
通过swing技术开发简易的证书制作工具生成根证书、签署证书和导出公钥证书等。
生成根证书的关键代码如下:
//根据所给算法实例化密钥对产生器
certandkeygen keypair=new
certandkeygen(keyalg,sigalg);
//产生长度为keysize的密钥对
te(keysize);
privatekey prikey=vatekey();
//根据所填信息,创建x500name实例
x500name x500name:ereatex500name();
//生成自签名证书
x509 certificate eert=fcertifieate
(x500name,validity木24木60术60);
//设置证书链
x509certifleate[]chain={cert};
entry(alias,prikey,keypass,chain);
4.4.4配置ssl
修改文件,在最下面增加:
loadmodule ibm_ssl_module
listen 80
listen 443
keyfile f:/
ssldisable
sslv2timeout 100
sslv3timeout 1000
servername netsoft-4d52657
servername netsoft-4d52657
sslenable
sslclientauth optional
5 结束语
web服务作为一种新兴的技术,将各应用系统平台进行了有效的无缝连接,并结合了单点登录模型,构建了一个统一的用户认证管理平台,使用户在各平台间的转换更为便捷。同时,也更方便了各个应用系统的管理。而ca认证的加入,更提高了系统的安全性和保密性。综上,web服务在校园网络中的应用,无疑对数字化校园的构建起到了巨大的推动作用。
参考文献
[1] 王晓虎,叶荣华.uddi技术及其在校园网中的应用[j].计算机工程与科学,2006,28(6):30-35.
[2] 沈伯青,杨宗凯.web服务的基石:uddi技术[j].计算机工程与应用,2003(3):147-183.
[3] 芮雄健,王忠民. uddi的原理与实现[j].计算机工程与设计,2005,26(6):1602-1605.
[4] 贾宗星,董丽丽.基于web services单点登录系统的设计与实现[j].计算机时代,2006(9):62-64.
[5] 李朝峰,江涛.基于web services技术的单点登录模型的研究与设计[j].民营科技,2009(8):23-23.
[6] 江为强,杨义先,黄正全.基于j2ee体系结构的ca认证系统的研究[j].武汉理工大学学报,2008,30(2):105-109.
[7] 胡喜玲.数字认证服务在校园网上的应用[j].微计算机应用,2004,25(3):308-311.
上一篇:基于WEB的在线考试系统