文/吴克文
摘要:根据自己自主开发和架设的,能可靠运行的内网统一身份认证平台的经验,介绍了系统平台在设计与实现过程中涉及到的的关键技术,数据操作模块的实现,用户信息的WEB管理等内容,并加以总结和探讨。
教育期刊网 http://www.jyqkw.com
关键词 :统一身份认证;WEB平台管理;数据操作
引言
统一身份认证平台包含自主开发的Userinf项目、WebServices服务和用户信息Web管理服务,我们可以使用微软.Net技术开发上述三个项目,架设上述项目必须保证用户服务器端操作系统安装.Net Framework和Windows IIS服务。
1、系统实现的关键技术
系统中的Web平台以及Userinf项目等均采用微软的C#进行开发。基于Web Services服务是系统的主要思想,即运用Web Services技术将统一身份认证模块封装为Web服务,由一个全校范围内唯一的认证服务系统代替各应用系统独自的认证模块,向客户端提供统一的接口,同时把各应用系统封装为服务,面向公共门户平台提供接口,从而实现统一认证、统一管理和统一授权。
Web Services是这样一种体系结构:它使用标准的互联网协议HTTP和标准的规范XML,将软件的功能体现在互联网(Internet)和企业内部网(Intranet)上,可以将每一个WebServices 看作Web上的一个可编程访问的组件,使网络真正的成为实现了资源和服务共享的网络,一个可编程、可操纵的网络。在采用Web Services技术时,必不可少的要牵涉到HTTP协议,因为HTTP是目前Web上最为普及的一种传输协议,几乎互联网上所有的主机都提供对该协议的支持,而且出于网络安全的需要,也是许多网络主机所开放的唯一可使用的协议。所以,它是实现Web Services体系结构最为推荐使用的一种基础协议。
2、数据操作模块的实现
系统中数据操作模块最好先编译成一个LdapAccess.dll供Web Services模块使用,或者提供给那些对速度要求较高的应用程序。该模块运行需要两个XML文件,字段映射配置文件和连接配置文件,目前支持Sql Server、LDAP和Oracle三种数据存储方式。并能同时支持多连接多表联合表示一个用户信息。另外还有个配置文件供Web Services使用,用来对不同的用户采用不同的配置文件,用户只有登陆才可以操作WebServices。这三个配置文件可以通过数据配置管理器进行配置。系统通过We b S e r v i c e s传送数据,通过集成的We bServices为应用程序提供统一的用户认证接口,以及用户信息操作接口。应用程序不但可以通过此接口完成用户验证,也可以进行用户的添加、删除、更改、查找等操作。
首先通过Web Services方法进行远程调用,这种方法是分布式的,然后调用初始化中已创建好的UserManger对象的方法,它的主要功能是是实现用户管理对象的创建,同时实现属性和方法,在方法中实现对用户的操作:包括增加,修改,删除,查看等基本操作功能。FieldAccess为基类,具有数据访问的基本功能;针对不同的数据源,FieldAccess又派生出不同的应用类:LdapAccess、SqlAccess、OracleAccess的各种派生类基本的方法都相同,只是各自的连接属性不同,用户在使用时可以根据实际的需要进行选择,把分布式的数据,在这个平台上达到统一。应用系统通过Web Services服务进行数据的存取。
通过Web方式实现了Web Services的架设之后,系统中的Web Services服务也就可以正常使用了,这项服务主要提供应用系统的Web引用。应用系统只要能访问Web服务,那么就可以对Web Services进行引用。
系统中的Web Services服务是通过.Net框架生成的,微软的Visual Studio编译器中提供多种生成并运行XML WebServices的方法,作为Visual Studio项目,XML Web Services的发布版本和调试版本的配置各不相同。由于创建此项目时使用的是ASP.NET Web服务项目模板,因此Visual Studio自动创建这些配置并设置适当的默认选项和其他设置。使用断点并启动XML Web services进行实现,在浏览器中打开.asmx文件时,XML Web services会返回一个服务页,如上图所示,提供有关XML Web services的信息。“服务说明”链接连接至包含XML Web services的正式服务说明的XML文档。在服务帮助页上,单击“CheckUser”链接,在“name”和“password”框中键入Web Services验证信息,在调用的过程中,判断该调用是否符合安全设定标准。
Web Services的编写过程中,大部分功能的实现需要调用LdapClasses.dll来完成的。LdapClasses类库是用于操作Ldap目录的,由于扩充系统功能,另外增加了Sql Server和Oracle的访问操作。在实现Web Services服务时,主要定义了DataSource枚举用于表示各个连接的类型;定义了Field类用于记录字段信息,进行字段映射;定义了Connection类用于记录一个数据库或目录服务的连接;定义了Connections 类用于管理多个Connection并为之提供串行化到XML的方法;定义了User 类用于表示一个用户;定义了IUserManger 接口类用于向外部提供方法的声明;定义了FieldAccess 类,用于对数据库和目录存取数据操作类的基类;定义了UserManger 类用于完成整个数据操作流程的关键类。
由于采用了LdapClasses类调用的方式,系统对数据操作进行了封装,所以Web Services服务的实现代码非常简洁,大部分通过直接调用该类实例的方法进行实现,通过添加WebMethod属性使之成为一个Web服务的可用方法。为了实现Web服务的访问控制,定义了Login方法,应用了Context.Cache的特性,使得访问者的状态可以得到持续保存。并且,LdapClasses的实例也是建立在Cache中的。因此提高了Web服务被连续频繁访问时的效率和速度。
3、用户信息WEB管理服务
系统的用户信息WEB管理服务主要提供对用户个人信息的管理作用,集成在Userinf项目中,主要实现用户信息的自助管理,诸如注册、查看修改个人信息、后台管理等功能。
对于用户信息的WEB管理,可以应用微软的Asp.Net技术,显示过程大部分采用的是数据绑定技术。运用数据绑定技术可以将两个(或多个)数据相关的对象关联起来,以便在对象之间传递数据集或其他数据对象,它提供了客户端用户对已取到缓冲区的数据进行交互的能力,比如对不同栏目的数据重新排序或过滤数据等等。数据绑定技术维持数据源对象提供的数据,与数据使用对象之间的同步关系,其中数据源对象的数据来自于数据缓冲区,而数据使用对象是在页面上显示数据的载体。数据源对象与数据库服务器可以是断开的,也可以是连接的。
如果系统的功能采用Web方式,数据绑定就应采用服务器端的数据绑定技术。利用Asp.net提供的Web控件DataGrid实现,DataGrid控件封装了与浏览器版本相关的HTML逻辑,把绑定到他的数据通过HTML表现出来,这样使得开发过程中可以针对这个对象模型编程,无需考虑各种浏览器版本的差别和不一致性。
教育期刊网 http://www.jyqkw.com
参考文献:
[1] 张素娟.基于LDAP的校园网统一身份认证的设计与实现[J].商场现代化,2007,10:31-32.
[2] 张立.基于SSO的校园网统一身份认证系统的设计与实现[J].网络安全技术与应用,2007,22(11):47-48.
[3] 段智敏,佘维,刘娜.基于Web Services统一身份认证的设计与实现[J].科学技术与工程,2008,13(8).
作者简介:吴克文,黄冈职业技术学院讲师,研究方向:计算机网络技术、计算机信息安全,电脑芯片级维修,数据恢复技术。