![基于Web Services的数字化校园的构建研究_第1页](http://file4.renrendoc.com/view/65f0b66940cc2ef1b6281ac04a8f9992/65f0b66940cc2ef1b6281ac04a8f99921.gif)
![基于Web Services的数字化校园的构建研究_第2页](http://file4.renrendoc.com/view/65f0b66940cc2ef1b6281ac04a8f9992/65f0b66940cc2ef1b6281ac04a8f99922.gif)
![基于Web Services的数字化校园的构建研究_第3页](http://file4.renrendoc.com/view/65f0b66940cc2ef1b6281ac04a8f9992/65f0b66940cc2ef1b6281ac04a8f99923.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于WebServices的数字化校园的构建研究
这些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单点登录概述
单点登录(SingleSignOn),简称为SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是用户只需进行一次登录注册,就可以访问多个相互联系的应用系统,而不必反复进行身份认证[4]。
4.3.2单点登录设计
通过Web服务实现用户身份验证,验证通过后将自动随机生成ticket,并传给用户,当用户访问其他应用系统时,仅需对ticket进行合法性验证。在这里,Web服务只需实现用户登录基本信息验证、ticket生成、ticket合法性验证这三个功能,就可以进行统一身份认证。单点登录模型的体系结构如图4所示[5]。
4.3.3单点登录实现
服务器端在开发时所使用的操作系统为WindowsServer2003,数据库为SQLServer2000,在Eclipse开发环境下进行开发调试,使用Tomcat5作为服务器,axis2作为SOAP搜索引擎。当环境部署完成之后,进行应用程序的开发,将单点登录系统以定制方式发布为Web服务,成为服务提供者,为校园不同部门机构门户提供服务。
4.4CA认证中心
4.4.1CA简介
CA(CertificateAuthority)[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技术开发简易的证书制作工具生成根证书、签署证书和导出公钥证书等。
生成根证书的关键代码如下:
//根据所给算法实例化密钥对产生器
CertAndKeyGenkeyPair=new
CertAndKeyGen(keyAlg,sigAlg);
//产生长度为keySize的密钥对
keyPair.generate(keySize);
PrivateKeypriKey=keyPair.getPrivateKey();
//根据所填信息,创建X500Name实例
X500Namex500Name:ereateX500Name();
//生成自签名证书
X509Certificateeert=keyPair.getSelfCertifieate
(x500Name,validity木24木60术60);
//设置证书链
X509Certifleate[]chain={cert};
ks.setKeyEntry(alias,priKey,keyPass,chain);
4.4.4配置SSL
修改IBMHttpServer/conf/httpd.conf文件,在最下面增加:
LoadModuleibm_ssl_module
modules/IBMModuleSSL128.dll
Listen80
Listen443
KeyfileF:/NEW/key.kdb
SSLDisable
SSLV2Timeout100
SSLV3Timeout1000
ServerNamenetsoft-4d52657
ServerNamenetsoft-4d52657
SSLEnable
SSLClientAuthoptional
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论