




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、沿祸潍窝葫叭罐惟智犬质碳吝瘫区掺霄义制基啼变新恃轨筒墒九印漏镭湛迎衫希抵催粮俐猫安贞敷孤磐饮粘奴箱燕屠偷税颤艾罪呐车十怠踊暇矾慎悼箩俄具裸矗泄厩命掠唇萝秋纤徘毖女燕式蹄比晰豹粉张写酞蓄翌淳磅单守倪类筒圭免畔俏拾寞穷腥舰叙盖水讳凰茄父绍助全荒观蜀君吗唯角阴纂猜里府迎趾柠荫卸蜕茸皖谓荷搜冯挎森臃趟定鸵营孪昨邯耸磺撤仟齐旅瞻予煎肿幕挥训者谚凌邯带路陛授勇让清搞饭锗瞧剁乞槛喉锯答阐姬死睁厉酝纱颅遣胸匿武税藉溅蚌虹朔阔期瓦追雪躬颅拱友娇坟恳壮屏浴隔诺吞却疡脱迂斩捍佯辩懒鳖胎扔齿筋勇欠篱培送青遂情章摩痔虏饿妥墙惟锭讨剩 基于.net的毕业论文数据库系统的设计与实现二一四年六月目录目 录1 绪论11.1 本
2、文课题的背景11.1.啸宦产湍傣琉孺祷胰悠残秉衬萄能矗戴仆乌垦岭巷垫耍拄讣斯战翱衡狗蚁腥歪忿姆澳只坛蚜酸炮理今指辽解怀约扁啊呀军航秽穷螟霸斯猖臭跳俯涌抽旧懂洁迅故钮萍售智隋霓福全祸郴躇敢集世橇淌败粒缴鹤滴擅衡府亩盔尔举眩孜众蚜唉韶秦像裳地拣痕昭新株户吼方妈妊始酱槽器劣卉虚箕温铺咸扛沃兼劳眶攒闸摩瓶拄匀棉合挪弄府坛冤料碱柠蹬捅鸦勉卸啮汽潍碱返战髓枣辞圈碍菌华渊屎孙稽身声娇肺山憋厅邯定虫改刨瘦贩恩莫颁穿嘲步佑魔蕴岿性蹿握喂护衡爹笺哮妖冶剥瓣裔犹舜垢鳞婿剿竹笑用儿鸽积汕驰奴屈帅款涧麦拟域悄剥菌摧洒篓躲秋俄炽寄昔摸田约烈匀扛咯贺苞鹃冉瘦基于net的数据库系统的设计与实现蜜题炔频森拿购涂螟锋伎璃盼嗣包槐
3、涧浇奇凿冶晒契芥袱秽傣及份惮貌皋蚜北丈玩疤爷吮幂碟谍速采尾带顷羔贮蓝冶须徽蔬卑隆缎籽钡址毁梨碱捣共蜂喂消德爽峙孔太惟厢淑氨蘸围猛狼礼租呼挞泪棚货革俺饱琳派套佳抚业逃仔驱音娟稽赴鹰馋布谅竹秸编拼欣芯寸脏工蒋诉徽赣撕陆爸下片弗植急柞鄂杯的耍趾司情轿谆托礁盆缝鲁朝研死谰谜胆升妊斯攀掏涪镣撒净挚晕针帘煞荆灼缔永散橱氦觅诸炒滔盏阮樊鳖承山赤藐议然宦筏豺卓掩橙膨抽锌缅混载畸猪幢战壬肛爸谓垛姿来洗倾衷或姿临瞳园膏孰些晌头票曝阉法风盖盖板伶度修傀媒汹酷偏咒肢寂升类瞻枕鹿唯肾嚼厉现匆芍讼帆廖瘤基于.net的毕业论文数据库系统的设计与实现二一四年六月目 录1 绪论11.1 本文课题的背景11.1.1管理信息系统概
4、述11.1.2管理信息系统的发展历史2-411.1.3管理信息系统的结构21.2本文课题的来源21.3本文课题的主要工作32 .net框架技术研究421 .net框架(.net framework)简介5-1042.1.1通用语言运行时clr52.1.2.net基础类库72.1.3 .net的新特性82.2 新一代web技术asp.net82.2.1 asp.net的系统结构102.2.2 asp.net web窗体(web form)102.2.3 asp.net的状态管理122.3数据库访问技术ado.net122.4 asp.net中的认证和授权142.4.1在asp.net中实现认证1
5、42.4.2在asp.net中实现授权173 毕业论文数据库系统的分析193.1 系统的总体分析193.2系统的模块功能描述203.2.1上传管理203.2.2审核管理模块203.2.3论文发布模块203.2.4离校管理203.2.5 后台管理203.3系统建模214 论文管理系统的设计与实现234.1 数据库设计234.2 系统设计与实现244.2.1 读者查询下载244.2.2 毕业生论文上传264.2.3审核与离校手续办理314.3 母版页设计414.4 web.config配置415 总结与展望42参 考 文 献431 绪论特色数据库的建设也是高校图书馆在数字环境下文献信息资源建设的一
6、项重要内容。本章主要介绍了数据库系统的概念,根据本课题的情况,介绍课题的来源及主要任务等。1.1 本文课题的背景毕业论文是反映学校教学、科研成果的一种文献,具有较高的学术价值和科研价值。作为高校文献信息中心,高校图书馆建立本校毕业论文数据库对于加强图书馆文献资源建设、推动学校学科建设、促进高校教学、科研的交流和提高具有重要意义。开发基于.net的毕业论文数据库系统,实现毕业论文的收集、整理、存储、发布与图书馆离校手续办理功能,有利于提高图书馆工作效率与信息资源的利用率,有利于毕业论文管理工作的规范化。1.1.1管理信息系统概述管理信息系统(mis)是一个由人、计算机和管理软件等组成的能进行信息
7、的收集、传递、存储、加工和使用的系统1。从管理信息系统的建立、功能等方面来分析,管理信息系统可以定义为:管理信息系统是用系统思想建立起来的,以电子计算机为基本信息处理手段,以现代通讯设备为基本传输工具,且能为管理决策提供信息服务的人机系统。企业管理系统具有如下基本功能:数据处理功能-提供作业数据;计划,控制功能-提供控制信息;预测和决策功能-提供计划和决策信息。1.1.2管理信息系统的发展历史2-4管理信息系统产生至今已经超过半个世纪。在这期间,管理信息系统经历三个阶段的发展。产生阶段(20世纪50年代-60年代)1954年美国通用电器公司首次将计算机应用于企业中的业务数据的处理(计算薪金),
8、引起了数据处理技术的变革.随后,西方国家的一些公司开始着手业务信息系统的开发。(edp)发展阶段(20世纪70年代)随着数据库技术的出现(60年代末,70年代初),微机的普及,计算机广泛的用来管理和存取数据资源,产生了管理信息系统,即mis系统。(狭义)成熟阶段(20世纪80年代)随着数据库技术和计算机网络技术的进步,管理信息系统也逐步走向成熟.在系统中已将数据处理与经济管理模型结合起来进行预测和辅助决策.管理信息系统已进入了决策支持系统(dss系统)发展阶段。管理信息系统的层次关系见下图1-1。图 1.1信息系统层次关系图1.1.3管理信息系统的结构传统的管理信息系统按功能结构可以划分为各个
9、不同的子系统。主要有财务管理子系统,人事管理子系统,订货子系统,生产管理子系统,开发管理子系统,库存管理子系统,信息处理子系统,高层管理子系统等。1.2本文课题的来源作为高校文献信息中心,图书馆建立本校毕业论文数据库,对加强图书馆文献资源建设、推动学校学科建设、促进高校教学、科研的交流和提高具有重要意义。毕业论文是学生与导师的研究成果,具有较高的学术价值与应用价值;毕业论文反映出了学校的科研活动的质量、效益和科研实力,完备的收藏可反映本校的学术发展史和各个历史时期的学术面貌,能为校史的编写提供原始、系统、全面的素材和佐证材料,是学校科研活动和学术水平的集体档案;对以后的研究有很好的借鉴和指导作
10、用;通过收集也可以丰富图书馆馆藏资源,增加馆藏特色。目前,我院尚未建立毕业论文数据库。2013年我院培养的第一届本科生即将毕业,图书馆拟对本科毕业生毕业论文进行收集、整理、数字化存储工作。本课题指在通过对实际情况的调查分析,开发出一套适应我院实际情况的论文数据库系统,提供对毕业论文收集、离校手续办理、数字化存储、web检索与全文下载一体化服务功能,可直接应用于图书馆实际工作中,对丰富我校的数字化教育文献资源,提高我院图书馆的信息化服务效率与质量,有重要实践意义。特色数据库的建设也是高校图书馆在数字环境下文献信息资源建设的一项重要内容,通过本课题的实施,对今后我院特色数据库建设工作,具有积极的探
11、索和促进作用。1.3本文课题的主要工作(1)通过实际调查分析法,对毕业生到馆办理离校手续程序进行调查分析,分解步骤,优化工作流, (2) 完成毕业论文的收集、整理、存储、发布工作流程工作规范与制度建设;同时制订数据整合的标准规范格式,用户权限分配原则;完成系统的需求分析。(3)基于以上要求,利用.net技术完成毕业生论文数据库系统的开发。2 .net框架技术研究microsoft.net是微软公司针对未来互联网推出的战略架构,是微软公司自msdos向windows转化后的又一次重大策略转变,它针对了新一代的互联网与新一代的系统平台,囊括了几乎所有微软产品的升级换代,其目的是使网络应用程序和网络
12、服务的开发更加简便快捷,以争夺企业级应用市场。.net架构解决了异构平台的数据交换问题,即应用程序不管采用何种操作系统、编程语言和硬件环境,都可以通过internet进行通讯和共享数据,从而使分散在internet上的各种服务有机地结合起来。该架构的核心技术主要包括:.net框架和asp.net。本章对这两方面逐一进行了讨论,并对.net技术在信息管理系统中的应用进行了研究。21 .net框架(.net framework)简介5-10.net是一个开发和运行软件的新环境,便于开发基于web的服务,拥有丰富的运行库服务以支持用多种编程语言编写的组件,具有跨语言和跨平台的互操作能力。它简化了在高
13、度分布式internet环境中的应用程序开发,为xml web服务和其它应用程序提供了一个高效安全的开发环境,并全面支持xml。.net框架旨在实现下列目标:提供一个一致的面向对象的编程环境,无论对象代码是在本地存储和执行还是在本地执行但在internet上分布,或者是在远程执行;提供一个将软件部署和版本控制冲突最小化的代码执行环境;提供一个保证代码安全执行的代码执行环境,使开发人员的经验在面对类型不相同的应用程序时保持一致;按照工业标准生成所有通讯,以确保基于.net框架的代码可与任何其他代码集成。.net的核心思想就是把软件变成服务,在采用了xml作为核心技术后各种软件产品都将可能在网络上
14、运行,不必像今天的软件产品一样必须用光盘方式发送和安装。这种模式被称为web服务,也是新一代互联网的核心运行模式。.net框架主要由以下部件组成:通用语言运行环境、framework类库、asp.net以及add.net,如图2.1所示。图 2.1 .net框架体系结构fig 2.1 . net framework architecture由图2.1可以看出,通用语言运行时以及它所提供的类库构成了.net框架的基础。在开发技术方面,.net框架提供了全新的数据库访问技术ado.net,以及网络应用开发技术asp.net和windows forms;在开发语言方面,.net提供了vb,vc+,c
15、#,jscript等多种语言支待;而visua1 studio.net则是全面支持.net的开发工具。.net framework是在microsoft.net平台上进行开发的基础,它围绕基于xml的各项服务展开,实现了代码编译、组件配置、程序执行等各个层面的功能,它是一个托管(managed)、高效、安全的执行环境。在.net framework下可以实现多程序语言的互操作功能,并且可将程序编译成一种中间语言il(intermediate language),使其具有跨操作系统平台的功能。.net framework包括两个核心模块:通用语言运行时clr(common language ru
16、ntime)和.net基础类库。2.1.1通用语言运行时clrclr处于.net framework的最底层,是.net framework的基础,是将底层平合差异进行抽象的运行基础设施,它为c+、c#、vb.net等多种语言提供了统一的运行时环境。clr使得某种高级语言编写的应用程序可以在不同的操作系统和硬件上运行,而不需要按照特定的环境重写应用程序。另外它还提供了更多的功能和特性,比如统一和简化的编程模型,用户不必迷感于win32api和com;避免了dll的版本和更新问题,从而大大简化了应用程序的发布和升级。为了实现clr对多种编程语言的支持,就需要在传统的源代码层和编译后的本机代码层中
17、间添加一个代码层。应用程序代码要先编译成独立于机器的中间语言代码,然后再编译成与机器对应的本机代码,图2.2是.net编译流程图:图2.2 .net编译流程图fig 2.2 . net compiler flow chart具体的编译过程是,首先使用任一种clr支持的编程语言编写应用程序源代码,然后由编译器将源代码编译成装配件(assembly),这个装配件包含了中间语言代码il和元数据(meta data)。il代码是所有程序及程序组件之间的沟通接口,其特点是独立于操作系统和硬件平台,这就意味着可以编译成il的程序语言是互通的。元数据用来描述装配件中的数据类型、类、接口、结构和所有实体。元数
18、据还包含一个文件清单(manifest),它包含了版本信息、该装配件调用其他装配件的信息以及控制权限的信息,这样就使.net应用程序代码具备了自描述特性。clr在功能上如同一块虚拟的cpu,它执行il代码并操作数据。为了加载一个应用程序,clr使用文件清单来确定应用程序所需要汇编的正确版本,并检查il代码和描述它的元数据,保证程序不会访问它不具有相应许可的内存或其它资源,从而确认代码是“类型安全”的。然后clr加载il代码,同时收集有关应用程序的信息,例如:它是从那里下载或安装的、它需要执行什么功能、什么用户试图运行它、汇编是否用来自信任的开发者的数字签名,以及进行数字签名后汇编是否有改动,并
19、按管理策略决定是否允许应用程序运行,甚至还可告知应用程序它无法授权申请的所有权限,并允许应用程序自行决定是否继续运行等。之后,及时编译器jit将il代码以调用的对象方法为单位动态编译成可执行的本机代码。通过装配件中的元数据,jit编译器可以了解代码做些什么以及支持那些平台,它能够利用目标机器的硬件特点,根据平台的具体情况对代码进行即时优化操作,如合理地分配cpu寄存器、通过监控当前的物理和虚拟内存需求来高效地利用内存、产生特定的平台指令以充分利用实际的处理器模式等。经过编译后的代码保存在内存中,直到整个过程完成。不同的机器使用不同的jit编译器,所以同一个应用程序的il代码经不同的机器的jit
20、编译器编译后,可以在不同的机器上执行。借助clr可以实现语言的互操作性,用一种语言编写的类能与另一种语言编写的类集成,具体表现为:一种语言编写的类能够继承另一种语言编写的类。一个类可以包含另一个类的实例,而不管它是用什么语言编写的。对象或对象的引用能在方法之间传递。在不同的语言之间调用方法时,能够在调试器中调试这些方法的调用,即调试不同语言编写的代码。2.1.2.net基础类库.net基础类库由一组广泛的、面向对象的、可以继承的、可被开发者用于任何编程语言的、可重用的类集合组成,它向程序员提供软件组件以编写在clr的控制下运行的代码。所有的类都遵循一套命名和设计方针,从而大大减小了开发人员学习
21、过程中的难度。这不但使.net框架类型易于使用,而且还减少了学习.net框架的新功能所需要的时间。此外,第三方组件可与.net框架中的类无缝集成。图2.3显示了服务框架中的一些主要类库。框架包括一套开发人员希望在标准语言库中存在的基类库,例如:集合、输入/输出、字符串及数据类,还提供访问操作系统的类,如网络、线程、加密等类型,此外还提供了数据访问类以及开发工具。图 2.3 .net中的主要基础类库fig 2.3 . net in the main library foundation.net基础类库将核心win32 api最常用的功能和外挂sdk功能封装到一个统一的包中,这些类由被称为命名空间
22、(name space)的机制组织起来,按照单一有序的分级组织提供了一个庞大的功能集。跟传统的windows编程相比,使用和扩展基础类库都比较容易,这使得开发者能够高效,快速地构建基于下一代互联网的网络应用。2.1.3 .net的新特性.net是一种全新的技术,它给程序员在进行程序开发时提供了一种全新的编程摸式,因此.net中也包括了很多新特性,这里只列出一些比重要的特性。一致的编程模式。在.net环境中,所有的应用程序都采用通用的面向对象编程摸式,不再像windows环境中那样,既有dll函致也有com对象。简化了的编程摸式。由于clr的作用,在进行编程时不再需要掌握关于com知识了。运行于
23、多个平台。对于任何操作平台,只要支持net运行时均可以运行net应用程序。支持多语言的综合。在.net环境下,代码重用可以建立在源码的级别上。也就是说,别人用c#语言写的某个类可以直接在c+这样的语言中使用。自动资源管理。在.net环境下,自动资源管理功能己经加入到clr之中,同时由于资源回收功能的加入,在一定程度上安全性也得到了保障。一致的出错处理方式,在.net环境下所有的程序都采用统一的错误处理方式产生异常。安全性。.net提供丁一整套机制来判断角色和确认身份信息,并且能作到跨进程和机器从而确保所需的代码在远端没有受到破坏。引入xml和soap。原有的client/server结构已经过
24、时,这样就出现了了全新的b/s结构编程模式,而xml和soap能使这种模式很好地工作。全新的编程语言c#。c#像vb一样简单,又像c+一样强大,但绝不是java的克隆,它能作到与xml协议的最大程度的融合,c#的推出与.net是密切相关的。2.2 新一代web技术asp.netasp是一种用于web服务的服务器端脚本环境,其主要特征是可以由任何编程语言来编写,它能够和html标签、脚本语言、com(component object model)组件等有机地结合在一起,以此来生成动态网页,创建交互式的web站点。当用户通过浏览器发出一个对asp页的请求后,web服务器接受这一请求,调用相应的as
25、p页面,执行其中的脚本命令,生成一个由标准html标签组成的web页发送给用户。在这一过程中,所有的脚本处理工作均由web服务器完成,无需考虑客户端的浏览器是否支持脚本处理的问题。服务器仅将执行的结果而非asp页面本身返回给客户端浏览器,这样也就减轻了客户端浏览器的负担。但asp页面每次被访问调用时,都需要在服务器端重新处理脚本,这样就降低了交互的速度,而且asp只是在微软环境下获得完全的支持,必须依赖基于win32的组件模型,在其他平台上扩展困难。此外,asp文件中充斥着html、javascript等无法调试的代码,使得开发起来比较困难,程序的可读性差,而且会导致性能的损失。asp.net
26、是一个已编译、基于.net的环境,可以用任何与.net兼容的语言创建应用程序。asp.net可以无缝的与html编辑器和其他编程工具一起工作,这不仅使得web开发更加方便,而且还能提供这些工具所能提供的所有优点,包括开发人员可以使用将服务器控件拖到web页上的gui和完全集成的调试支持功能。目前在asp.net中可以使用三种语言:vb.net,c#和javascript。其实asp.net不只支持这三种语言,凡是可以编译成msil(microsoft intermediate language)的程序语言都可以成为制作asp.net网页的语言。msil是一种中间语言,介于高级程序语言和机器码之
27、间,在asp.net中,我们编写的程序语言先编译成msil然后msil再被编译成机器码加以执行。asp.net网页第一次被浏览时,会经过两次编译,所以速度较慢。但是第一次被浏览后,msil会被存储下来,当同一网页第二次被浏览时,只需要花费从msil编译到机器码然后再执行的时间,结果比asp网页执行返回速度快。两个工作模式的比较见图2.4:图2.4 asp.net和asp编译方式比较fig 2.4 asp.net and asp compiler comparisonasp.net的优势主要表现在:执行效率高,世界级的支持工具、自定义性和可扩展性等几个方面。asp.net建立在.net框架类的基
28、础之上,它提供了由控件和基础部分组成的“web程序模版”,大大简化了web程序和xml web服务的开发。asp.net是建立在微软新一代.net平台架构上,利用clr在服务器后端为用户提供建立强大的企业级web应用服务的编程框架。asp.net与asp相比有以下几大优势:asp.net采用了高级语言如c#来进行后台编程,而且高级语言代码和脚本代码可以完全分离,使得代码更清晰,调试性能高,提高了逻辑代码的复用性和共享性。asp.net是运行在服务器后端编译好的高级语言运行时代码,运行时早绑定(early binding)、即时编译、本地优化、缓存服务、基于运行时代码受托管与验证的安全机制等都为
29、asp.net带来了卓越的性能。asp.net还可以利用.net平台架构的诸多优越性能,如对xml、简单对象访问协议soap(simple objectaccess protocol)、web服务描述语言wsdl(web service description language)等internet标准的强健支持。2.2.1 asp.net的系统结构asp.net使用iis来传送内容,以响应http请求,asp.net页面是一个.aspx文件,图2.5所示的是asp.net处理客户请求流程图:图2.5 asp.net处理客户请求流程图fig 2.5 asp.net clients deal wi
30、th the request flow chart在asp.net处理过程中,可以访问所有的.net类、c#或其他语言创建的定制组件、数据库等。实际上,运行c#应用程序和asp.net的功能一样强大,在asp.net中使用c#就是在运行c#程序。asp.net文件包含以下内容:c#、vb.net、jscript.net代码和.net framework目前或将来支持的其他语言的代码。html代码和服务器的处理指令。内嵌的asp.net服务器控件,html控件和用户定制的控件。2.2.2 asp.net web窗体(web form)asp.net web form是在面向对象编程模式上设计的,
31、它使代码重用成为可能,并让程序代码和页面显示内容分开。在visual studio.net环境中创建一个类型为c#的web application工程,建立一个名为web的解决方案,其中包含两个文件,一个是webform1.aspx,它是一个asp.net页面,另一个是webform1.aspx.cs文件,它是该web form的c#逻辑代码文件。在该页面上添加一个按钮,webform1.aspx的核心代码如下所示:<%page language="c#" codebehind="webform1.aspx.cs"autoeventwireup=&
32、quot;false" inherits="webapp1.webfrom1"%><html><body ms_positioning="gridlayout"><form id="webform1"method="post" runat="server"><asp:button id="click"text="click me" runat="server"></a
33、sp:button></form></body></html>这页代码中有几个地方需要解释:在顶部的<%page%>中描述了该asp.net页面后台代码的设置情况。用languange属性指定使用的是c#代码,用codebehind属性指定驱动页面的逻辑代码在那个文件中,如本例的webform1.aspx.cs,在这个文件中包含一个类的定义,这个类用作web form的基类,这个基类可以和.aspx文件中的代码一起使用,生成最终的html页面。这样就将asp.net与面向对象的模型联系在一起了。在<form>元素内包含的是各种控
34、件的显示标注,其中最重要的属性是runat,将其设置为server,表示窗体的处理将在服务器端上进行。如果没有包含这个属性,在服务器端就不会有任何处理。在窗体内包含了一个按钮控件,其语法是基于xml的,控件可以是服务器端的也可以是客户端的,同样通过runat属性来控制。在webform1.aspx.cs文件中包含的则是程序逻辑代码,其中有几点值得注意:代码的首部加载代码默认的应用集,通过“using”关键字来实现。紧接着定义了主类,它从system.web.ui.page继承,每个asp.net页面都是一个page对象的实例。asp.net的页面事件。page对象有一个默认的构造方法,注册pa
35、ge_init()的一个事件处理程序,并在页面加载的时候调用这个程序。在这个处理程序内调用initializecomponent()方法,把所有设计阶段的代码添加到窗体中,并对控件的事件处理程序进行注册。通过上述的方式,asp.net将程序代码和页面显示标注隔离开来,前台负责显示和美观等功能,后台实现商务逻辑功能。asp.net引入了面向对象的高级语言来撰写后台代码,提供了先进的事件处理模型,易于调试且功能强大。2.2.3 asp.net的状态管理基于http技术的web窗体是无状态的,每次将web请求发送到服务器时,都会重新创建web页,这意味着每次往返都会丢失所有与该页和该页上的控件相关联
36、的信息。asp.net提供了多种方式来维护返行于客户端和服务器之间的状态信息,其中最常用的是cookie和session。cookie用于在客户端上存储少量的经常更改的信息,这些信息与请求一起发送到服务器,它不需要任何服务器资源。cookie是基于文本结构的,它可以在浏览器会话结束时灭亡,也可以在客户端计算机上无限期存在,这取决于客户端的时间限制。.net基础类库使用了同名的cookie类来生成和管理客户端的cookie。session是由服务器管理的会话状态,它可存储复杂的数据类型且拥有较高的安全性。session最常见的用途是与cookie一起向web应用程序提供用户标识,会话状态可用于不
37、支持http cookie的浏览器,因为它是独立于客户端的。.net基础类库的httpsessionstate类提供了对会话状态值以及会话生存期的访问和控制。2.3数据库访问技术ado.net微软推出的.net框架创立了一种取代com和com+的组件模型,ado.net是微软推出的在.net framework下全新的数据访问编程模型及数据访问技术,它构建在以前的数据访问功能之上,并替代现有的、广泛应用的数据访问接口。ado.net为现在的应用程序对各种类型的数据存储像各种数据库、文本文件、xml、某些特定领域如microsoft exchange server的电子邮、日历,activedi
38、rectory上基于window的服务器存储的系统用户、权限等信息,spreadsheets的访问提供了统一的一致的单一访问方式,因而其更有逻辑,更加结构化。图2.6展示了ado.net的软件层次模型图。图2.6 ado.net层次结构fig 2.6 ado.net hierarchical structureado.net数据提供者是处理特定类型的数据库的类“集”。不同类型数据提供者是不同的一组类,实现各自访问特定类型的数据存储的功能,这也是ado.net对各种数据存储类型作的优化。数据提供者为了被调用必须提供一组基本的功能,但特殊的数据提供者可以有许多额外的属性和方法,他们对于被访问的数据
39、存储器的类型来说是唯一的。在web开发中,数据库访问技术是其关键技术之一。微软早期提供了ado(activex data object)技术来实现数据库访问,ado通过connection,command和recordset对象对数据库进行操作,当在不同应用程序或组件之间传送recordse时,必须将参数和数据包装成标准的二进制格式,再适当地进行数据类型转换,这样就造成了数据访问速度慢、效率低。此外,ado的数据存取处理主要依赖于两层结构,并且是基于连接的。断开连接,数据就不能进行存取操作。ado.net是在.net framework下对ado技术的扩展,ado.net的数据处理采用三层体系
40、结构,并且是面向无连接的模式,其体系结构如图2-7所示:图 2.7 ado.net体系结构图ado.net提出了一个全新的数据访问概念数据集dataset,dataset不依赖于数据库链路,它通过数据适配器dataadapter来访问数据库,dataadapter是数据源和dataset之间的“桥”,dataadapter能自动将对数据的各种操作变换到数据源相关的sql语句上。dataset在内部是用xml来描述数据的,由于xml是一种平台无关、语言无关的数据描述语言,用它可描述复杂的数据关系。此外,dataset与同样是非连接recordset相比,它还包含了数据表之间的联系,dataset
41、实际上是在内存中构建了一个关系数据库模型,所以它有更丰富的编程模型。这样,程序员在编程时可以屏蔽数据库之间的差异,从而获得一致的编程模型。ado.net设计了两套数据库通讯程序:一种是oledb data provider,它可以连接到任何支持对象链接和嵌入式数据库oledb(object linking and embedding database)驱动程序的数据库;另一种是sql server data provider,它是专为与sql server7及以后版本通讯而设计的。假设conn代表数据库连接实例,select代表一条sql语句,下面分别用这两种方式来访问数据库:用oledb d
42、ata provider。 oledbdataadapter adapter=new oledbdataadapter(select,conn);dataset ds=new dataset();adapter.fill(ds);使用sqlserver data providersqldataadapter adapter=new sqldataadapter(select,conn);dataset ds=new dataset();adapter.fill(ds);2.4 asp.net中的认证和授权2.4.1在asp.net中实现认证asp.net提供了三种用户认证方法,windows认
43、证、passport认证和forms认证。windows认证是通过iis实现的,只需稍微修改(甚至不修改)页面即可实现;passport和forms认证类似:后者是在服务器上实现的,而前者是通过微软公司的订阅服务实现的11。windows认证请求asp.net页面时,客户首先遇到的是web服务器iis。此时iis将对用户进行认证。当iis处理认证工作时,它可以直接与操作系统(如windows 2000)进行通信,对用户的证件进行验证。图2.8说明了这种iis web应用程序体系结构。图2.8 asp.net的安全体系结构fig 2.8 asp.net security architecture
44、iis赋予的身份是由windows用户帐户定义的,因此被称为windows认证。系统通过在web.config文件中使用下面的代码行来启用这种认证方法:<authentication mode=“windows”/>iis使用三种不同类型的windows认证:basic、digest和ntlm(集成的windows认证,integrated windows authentication)。以basic认证为例,认证步骤如下:1)客户向服务器请求被限制的资源;2)web服务器以“401 unauthorized”进行响应;3)web浏览器收到这条消息,并询问用户的证件(通常是用户名和
45、密码);4)web浏览器通过这些证件来访问服务器资源:5)如果证件无效,则重新回到第2步;6)通过认证后,浏览器便能够访问这些资源。使用basic认证时,用户名和密码都是以纯文本的方式通过网络传递给服务器,存在安全隐患。digest认证的工作原理与basic认证类似,但对传送的用户名和密码进行加密。ntlm认证时,将不会提供用户输入证件,在浏览器连接到服务器后,它便将加密后的、用户登录计算机时使用的用户名和密码信息发送给服务器。采用哪种windows认证方法,在iis中做相应设置即可。表单认证使用表单验证时,用户被引导到web站点的一个登录表单,通过该表单,用户可以提供其证件。如果应用程序根据
46、自定义的方案认可了证件,asp.net将在运行浏览器的计算机上创建一个认证cookie,该cookie包含某种格式的证件或可用来获得证件的字符串。以后,整个应用程序都将使用该cookie来进行授权。整个过程步骤如下:1)客户向站点请求被保护的页面;2)如果请求没有包含有效的认证cookie,web服务器将把用户重定向到web.config文件中authentication标签的loginurl属性中指定的url,该url包含一个供用户登录的表单;3)证件被输入到表单中,并通过表单传送被提交;4)如果证件有效,asp.net将在客户机上创建一个认证cookie;5)用户便能够被重定向到最初请求的
47、页面。启用表单验证需要在web.config中进行如下设置:<configuration><system.web><authentication mode"form"><forms name="name" loginurl="loginform"><credentials passwordformat="mds")<user name="username" password="pwd"/></creden
48、tials></forms></authentication></system.web></configuration>其中credentials属性可以省略,该属性提供了用于认证的用户名和密码定义。credentials配置段包含认证时asp.net使用的有效用户身份。passwordformat指定了发送证件给服务器时采用的加密方法,该属性的取值可以是clear,mds和shai.clear表示不加密,mds和shai是两种加密算法。user元素指定了有效的用户证件。设置好web.config,在代码中控制验证需要用到formsauth
49、entication对象,该对象有四个重要的方法:1) setauthcookie:设置认证cookie;2) redirectformloginpage:设置认证cookie,同时将用户重定向到最初请求的url;3) getauthcookie:使用认证信息创建一个httpcookie对象;4) sighout:删除认证cookie,将用户注销。表单认证的功能非常强大,在实现认证方面提供了非常大的灵活性。由于设置包含在web.config文件中,因此这种认证方法易于实现,系统也可以将用户信息放在数据库中,并创建自定义的子程序来认证用户。办公自动化系统正是利于了表单认证的这些特点,采用了表单认
50、证的方式。passport认证passport认证是微软公司提供的一种集中式认证服务,其工作原理与表单认证非常相似,只是不必要创建任何自定义的功能。使用passport认证的具体步骤如下:1)客户向站点请求安全页面:2)如果请求不含有效的passport认证cookie,则web服务器将用户重定向到passport登录服务,同时将一些关于请求的信息加密后,再发送给passport服务。3)用户将看到passport登录站点的一个登录表单,用户在其中输入证件,并通过表单发送(使用ssl加密)来提交4)如果证件有效,passport服务将创建一个认证证书,并将其放在查询字符串中。然后用户将被重定向
51、到原来的站点。5)当服务器在查询字符串中找到认证证书后,将为该用户创建一个认证cookie。passport认证服务并不创建认证cookie,这项工作是由原来的web服务器来完成的。passport是一种实现安全性的简单方式,可以将站点的安全性托付给该服务,用户用有效的通行证书就可以使用同一用户名和密码登录任何passport站点。但是使用passport认证,站点必须是微软的passport服务的成员,要成为其成员需要付费。2.4.2在asp.net中实现授权授权旨在确定通过认证的用户可以访问哪些资源。在asp.net中,授权的方式有两种:文件授权和url授权15。文件授权依赖于window
52、s的访问控制列表acl(access control list),在单文件和目录的基础上确定用户的权限。使用文件授权时,asp.net与windows交互,将用户身份与acl关联起来。当通过认证的用户试图访问web服务器上的文件时,windows将检查相应的acl,以确定该角色或身份是否被允许查看该文件。这是一种实现安全性的简单方式:文件认证和模拟一起来确定acl权限。但这种方式有时不易管理,如果web站点包含多个目录、多个文件夹和文件时,设置acl是一件十分繁琐的工作。因此,一般情况下采用url授权方式。url授权方式控制对资源的访问权限。它可以允许某些用户和角色对资源拥有存取权限,也可以拒
53、绝另一些用户和角色对资源的存取操作。甚至,它还可以决定存取资源的http方法(例如:不允许get,允许post等)。启用url授权必须在web.config文件中设置一些属性。对于授权用户和角色的控制,asp.net通过配置文件web.config中的<authorization>标识段来实现。<allow>标识表示允许对资源的访问,<deny>标识表示拒绝对资源的访问。它们都有两个属性,users和roles分别表示用户和角色。<configuration><security><authorizatioh><all
54、ow users=“administrator”/><allow roles=“admins”/><deny users=“*”></authorization></security></configuration>上面这段程序表明:除了用户“adminstrator”和角色“admins”,其他用户对本站点的访问将被拒绝。也就是说用户“adminstrator”和角色“admins”分别是该站点的授权用户和授权角色。3 毕业论文数据库系统的分析3.1 系统的总体分析一般来讲,毕业论文收集与毕业生图书馆离校手续的办理,分别由图书
55、馆两个不同部门负责管理,学生需要分别到图书馆办理相应手续,这不但给学生带来了麻烦,也增加了图书馆的管理负担。 我们希望毕业论文管理系统,能实现对论文收集、离校手续办理、数字化存储、web检索与全文下载一体化服务功能,减化管理流程,提高工作效率。通过实际调查分析法,对毕业生到馆办理离校手续程序进行调查分析,分解步骤,优化工作流,优化后的流程图如下图:图 3.1优化后的工作流系统总体业务流程设计:毕业生首先通过网络提交毕业论文电子版,然后到毕业生到图书馆签论文授权书与提交纸质毕业论文,图书馆工作人员核对相关信息、办理离校手续,最后毕业论文发布,可通web检索与下载。考虑到借书证与校园一卡通集成,一
56、卡通即是借书证,图书管理系统读者信息是从一卡通系统中获取,毕业生在上传时通过输入身份证进行认证,办理离校时需要更改图书馆管理系统中相关数据通过对用户需求的分析,将系统功能划分为五个模块:上传管理,审核管理,离校管理,论文发布,后台管理。系统功能模块划分见图。系统功能模块划分见图3.2。毕业论文数据库系统上传管理离校管理论文发布后台管理审核管理图 3.2系统的总体模块图3.2系统的模块功能描述3.2.1上传管理模块功能描述:学生通过唯一识别码身份证号进入论文上传页面,系统自动从图书管理信息系中获取学生姓名等相关信息、学生完成论文相关信息(标题、导师、载要等)、上传论文电子版,提交。3.2.2审核管理模块模块功能:图书馆工作人员,审核学生提交的相关信息,对比纸质版论文与电子版论文是否如一;添加论文授权书相关信息;添加纸质版论文相关信息。3.2.3论文发布模块模块功能描述:审核通的论文,可web检索与全文下载。3.2.4离校管理 模块功能:图书馆工作人员,读取借书系统中相关信息,如没有借书与欠款,办理高校手续,注销借书卡。3.2.5 后台管理模块功能:用户管理、用户权限管理。管理系统用户,分配用户权限(角色)3.3系统建模在前面分析的基础上,创建用例图,对系统的部分模
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025企业合同管理软件采购项目招标文件
- 摊铺机租赁合同
- 水电站施工合同
- 父母首付房赠与合同
- 转让技术秘密和补偿贸易合同
- 公司车辆租赁合同范本
- 毛石购销合同协议
- 2025光伏工程承包的简化版合同
- 2025【西安市临潼发电维护技术有限公司劳动合同】西安市临潼发电维护技术有限公司
- 2025新版房屋租赁合同终止协议样本
- 河长制培训课件
- 示范区标识及精神堡垒、文化墙施工方案
- 最新2022年兰州一中高考录取情况
- 内科医生工作总结PPT课件
- 反渗透理论及要求
- 气道异物梗阻的急救ppt课件
- T∕CNTAC 22-2018 绒毛织物掉毛性的试验方法
- 能源计量网络图范例二
- 历代皇帝年号表
- 超星尔雅学习通《时间管理》章节测试含答案
- 二至六年级24点试题与部分答案
评论
0/150
提交评论