(通信与信息系统专业论文)基于web的无线局域网接入认证计费系统设计和实现.pdf_第1页
(通信与信息系统专业论文)基于web的无线局域网接入认证计费系统设计和实现.pdf_第2页
(通信与信息系统专业论文)基于web的无线局域网接入认证计费系统设计和实现.pdf_第3页
(通信与信息系统专业论文)基于web的无线局域网接入认证计费系统设计和实现.pdf_第4页
(通信与信息系统专业论文)基于web的无线局域网接入认证计费系统设计和实现.pdf_第5页
已阅读5页,还剩50页未读 继续免费阅读

(通信与信息系统专业论文)基于web的无线局域网接入认证计费系统设计和实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

西南交通大学硕士研究生学位论文第1 页 摘要 本论文致力于设计并实现一个基于w e b 方式的接入认证计费系统。该 系统定位在小范围热点场所无线局域网的认证业务,实现对用户的接入认证、 计费和管理等应用。所实现的系统具有安全性好、可靠性高、可维护性好、 界面友好和断线检测准确等优点。 论文首先分析比较了p p p o e 、瑾e e8 0 2 1 x 和w e b 认证三种主要认证技 术,然后结合无线局域网的特点,以用户进行认证的便利性为前提,选择以 w e b 认证方式为基础进行开发。接着,进行了系统总体设计,确定了w e b 服务器模块和后台数据库在l i n u x 下的开发环境,并针对作者所在实验室的 具体情况设计了后台数据库、用户使用界面以及系统管理工具。 针对用户身份认证和断线检测需求,提出并实现了密码和验证码的双重 认证方式,s e l e t 监听器并结合j a v a 定时器异常断线检测,保证了系统认证 的安全性和计费的准确性。 从用户帐号管理和后台数据库维护入手,还设计实现了一个基于w e b 并带有数据库自动清理程序的系统管理工具,给系统管理员提供了对用户的 添加、删除、修改、查看、查询以及续费等系列操作,保证了系统的可维护 性。 在分别实现系统各模块基础上,论文利用重定向和s o c k e t 通信技术实现 了系统的整台联调,并给出了测试结果。最后,论文对本项研究工作进行了 总结并提出了对未来工作的展望。 关键词w e b 认证:断线检测:j a v a 定时器;s o c k e t 西南交通大学硕士研究生学位论文第l 页 第一章绪论 1 1 课题研究背景与意义 i n t e m e t 产生于2 0 世纪8 0 年代,发展于9 0 年代,到今天m t e m e t 已经成为 人们生活工作学习中必不可少的一部份。从窄带到宽带,从有线到无线,对 网络的管理和运营显得日益重要。因此作为网络管理运营基础的接入认证计 费技术也已成为近几年业界研究的一个热点问题。 目前最常用的宽带接入认证技术有p p p o e 认证、i e e e8 0 2 1 x 认证和 w e b 认证。本文的研究对象是酒店、旅馆、实验室等热点场所的宽带无线 局域网的接入认证技术,致力于开放一个免费的宽带接入认证计费系统。尽 管采用哪种认证方式与网络的物理形态【2 无绝对关系,但是每种认证方式的 特点也决定了它更适合于哪种网络。p p p o e 和i e e e8 0 2 1 x 两种认证技术的 安全性高于w b b 认证【3 】,但都需要在客户端运行专用软件,这不仅给运营商 带来相对较大的前期投资和后期维修压力,同时也给用户初次使用带来不便。 而w e b 认证技术直接利用客户端的浏览器进行认证,不需要安装其他软件, 用户可以在任何时候进行接入认证,其系统安金性也有一定的保证。因此我 们选择研究开发一个基于w e b 的无线局域网接入认证计费系统。 1 2 国内外研究现状 接入认证计费系统一般简称为a a a 认证系统,a a a 指a u t h e n t i c a t i o n ( 认证) 、a u t h 嘶z a t i o n ( 授权) 和a c c o u n t i n g ( 计费) 5 l 6 】。一套完善的a a a 认证系统可以很好地解决网络管理和运营过程中出现的问题,比如认证计费 和用户管理等。系统在用户进行认证的过程中,根据用户使用网络的特征参 数,如上网时间、流量、服务等级等,对用户进行授权并实施相应的计费策 略。图1 1 i7j 显示了a a a 认证系统的基本结构,整个认证端由n a s ( n e t w o r k a c c e s ss e r v e r ,网络接入服务器1 、r a d i u s ( r e m o t e a u t h e n t i c a t i o n d i a l i n u s e r s e r v i c e ,远端拨入用户验证服务) 服务器和后台数据库组成。 亘宣窭望盔堂塑生塑塞皇兰焦迨塞篁! 要 图1 1a a a 系统的基本结构 n a s 是r a d i u s 服务器的客户端,它向r a d s 服务器转交用户认证 信息,并在认证通过后,向r a d i u s 服务器发送计费信息。除此之外,它还 包括地址分配、地址转换、h t t p 请求重定向、控制用户访问权限和上网缓 冲等功能。 r a d i u s 服务器作为整个系统的认证中心服务器,它与n a s 连接,处理 用户的认证、计费请求。它收到认证请求后,提取用户名和密码,在数据库 中查询比较。收到计费请求后,向数据库中添加计费信息记录,上网日志记 录,每次上网的通信详情,包括上网时间、下网时间、上下行通信流量。 数据库则用于保存所有的用户信息、计费信息以及上网日志等。 整个认证流程为: a ) 用户向n a s 提交认证请求; b ) n a s 向r a d i u s 转交用户认证信息; c ) r a d i u s 将用户信息与数据库内信息进行核对,如果符合,则认证通 过,否则认证失败。 目前较为著名的a a a 认证系统有美国f u n k 软件公司开发的 s t e e l b e l t e d r a d i u s 系列;深圳华为技术有限公司开发的i n f o x a a a 认证、授 权和计费系统以及北京首信股份有限公司开发的c a s l 0 a 系统等。 a a a 认证系统通常应用p p p o e ,i e e e8 0 2 1 x 和w e b 认证等技术。这 些技术各有各的优势,相对而言也存在不足。以下将对这三种技术做一定的 分析和比较,阐明我们选择研究w e b 认证技术作为无线局域网接入认证技 术的理由。 西南交通大学硕士研究生学位论文 第3 页 1 2 1 宽带接入认证技术( 一) :p p p o e 认证 p p p o e 全称为p o i n t t o p o i n t p r o t o c o lo v e r e t h e m e t ,即以太网上的点对点 协议认证,由r e d b a c k 网络公司、客户端软件开发商r o u t e r w a r e 公司以及 w b r l d c o m 子公司u u n e tt e c h n o l o g i e s 公司于1 9 9 8 年联合开发川。 p p p o e 为i e t f r f c 2 5 1 6 标准协议 1 0 】,将应用于窄带网的p p p 协议【l l j 转 移到宽带以太网上【”】,实现在以太网上传输封装p p p 报文。由于以太网技术 十分成熟且使用广泛,而p p p 协议在传统的拨号上网应用中显示出良好的可 扩展性和优质的管理控制机制,二者结合而成的p p p o e 协议得到了宽带接入 运营商的认可并广为采用,最典型的应用是在a d s l 【9 1 ( a s y m m e t r i c a ld i g i t a l s u b s c 加e rl o o p ,非对称数据用户环线) 接入方式中。 p p p o e 建立过程可以分为d i s c o v e r y 阶段和p p p 会话阶段【1 3 】。d i s c o v e r y 阶段是一个无状态的阶段,该阶段主要是选择接入服务器,确定所要建立的 p p p 会话标识符s e s s i o ni d ,同时获得对方点到点的连接信息。d i s c o v e r y 阶段保持无连接状态直到一个p p p 会话的建立。一旦p p p 连接建立,则用户 主机和接入设备都必须为p p p 虚拟端口分配资源。p p p 会话阶段执行标准的 p p p 过程,主要是l c p 、认证、n c p3 个协议的协商过程,l c p 阶段主要完成 建立、配置和检测数据链路连接,认证协议类型由l c p 协商( c h a p 或者p a p ) , n c p 是一个协议族,用于配置不同的网络层协议,常用的是i p 控制协议 ( i p c p ) ,它负责配鼍用户的i p 和d n s 等工作。 采用p p p o e 认证,客户端需要安装p p p o e 客户端软件。该软件的作用是 连接操作系统的p p p 协议和以太网协议,并通过p p p o e 协议连接i s p 。安装软 件后,用户无需进行i n t 锄e t 协议属性的设置。目前常用的软件有e f f i c i e n t n e t w o r k s 开发的e n t e r n e t 3 0 0 、w i n d r i v e r 公司开发的w i n p o e t 【8 】以及个人 开发的p p p o e 驱动软件r a s p p p o e 。进行认证上网时,用户运行客户端软件, 输入用户名和密码,由客户端软件发出第二层广播包,寻找p p p o eb a s 。b a s 将用户信息送往后台r a d i u s 服务器【1 4 【1 5 】,对该用户进行认证和授权等。 由于p p p o e 从基于a t m ( a s y l l c l l r o n o u st r a n s f e rm o d e ,异步转移模式) 的窄带网引入到宽带以太网,有其一定局限性。 1 ) p p p o e 的实质是在以太网上实现p p p 协议,在客户端和b a s 之间建 立了p p p 的点对点通道。如果在用户主机和b a s 之间启用组播业务, 则组播数据必须以b a s 作为接收端复制点,这样会使大量的组播数 亘塑壅逼查兰塑主塑塞圭兰垡笙塞 蔓兰戛 据穿越网络和d s l a m 设备,违背组播的初衷。因此p p p o e 接入方 式限制了组播协议的存在,影响视频业务的开展。 2 ) p p p o e 是一个客户端服务器协议,客户端需要发送p _ a d i 包寻找b a s , 因此它必须同b a s 在同一个广播式的二层网络内。在建设网络时, b a s 应该靠近用户进行分布式的放置,从而大大增加了整个网络的建 设成本。 3 1p p p o e 利用b a s 转发、处理认证和计费数据包,因此当其转发、处 理能力达不到要求,就会降低通信效率,成为网络性能的“瓶颈”。 另外,p p p o e 客户端软件大多是第三方软件,因此不能避免与操作系统 不兼容或与其他应用程序相冲突的可能。这样既会给用户带来困扰,又给运 营商带来了巨大的维护压力。并且在热点场所的无线接入中,如果要求客户 端另外安装认证软件,难免会给使用者带来不便。 1 2 2 宽带接入认证技术( 二) :i e e e8 0 2 1 x 认证 i e e e8 0 2 1 x 是基于端口的网络访问控制协议( p o r t b a s e d n e t w o r k a c c e s s c o n t r 0 1p r o t o c 0 1 ) 。在i e e e8 0 2 所定义的局域网环境下,任何非法用户都可 以利用物理连接口进入局域网,为了解决这个问题,8 0 2 1 x 协议应运而生。 2 0 0 1 年6 月i e e e 将8 0 2 1 x 正式颁布了i e e e8 0 2 1 x 标准【1 7 】,作为基于以太 局域网、城域网和各种宽带接入手段的用户或设备接入认证协议。 8 0 2 1 x 认证限制未经授权的用户或设备通过接入端口访问网络,其认证 系统为支持8 0 2 1 x 协议的网络设备如8 0 2 1 x 交换机。该设备对应于不同 用户的端口,有两个逻辑端口:受控端口和不受控端口。不受控端口始终处 于双向连通状态,主要用来传递e a p o l ( e x t e n s i b l ea u t h e n t i c a t i o np r o t o c 0 1 o v e rl a n ,基于局域网的扩展认证协议) 协议帧,可保证客户端始终可以发 出或接受认证。受控端口只有在认证通过的状态下才打开,用于传递网络资 源和服务l l ”。由于 x 西南交通大学硕士研究生学位论文第6 页 1 2 3 宽带接入认证技术( 三) :w e b 认证 w e b 认证起源于电子邮箱之类的业务类型认证,用户只需要通过浏览 器,在一个w e b 页面输入用户名和密码,便可实现对用户是否有使用网络 权限的认证。这种认证方式均为各厂商私有,没有国际标准。如f e n g i n e r 4 0 0 0 系列路由器即可提供基于w e b 方式的认证【z 。 w e b 认证的主要过程h ”如下: 用户打开计算机,系统程序根据配置,通过d h c p 协议【2 2 1 2 3 j 做 d h c p r e l a y ,向d h c p 服务器请求i p 地址( 私网或公网) 。同时网关设备为 该用户构造对应表项信息( 基于端口号、i p ) ,添加用户a c 乙服务策略。这 样用户在认证通过前只能访问门户网站( p o r t a ls e r v e r ) 和一些内部服务器。 用户访问其他网络资源的时候,首先打开浏览器输入要访问的网站地址, 接着用户被网关设备自动定向门户网站,门户网站将返回一个w e b 认证页 面。用户在认证页面提交用户名和密码,进行认证。认证通过后,用户即可 访问所有网络资源。用户正常下网后,门户网站将用户下网的消息发送给网 关设备,由网关设备发出计费s t o p 包给后台,同时在网关设备中删除此用户 记录。d h c p 服务器释放用户的口地址。 w e b 认证利用w e b 浏览器进行身份认证,无需安装额外的软件,也避 免了系统和软件间可能存在的不兼容问题。因此对于用户来说比较容易接受 并且维护简单;对于运营商来说则大大减少了他们的维护工作量f l 】。 这是 w e b 认证的一个突出的优点,也正因如此,w e b 认证更适合于无线局域网 的上网认证, x 西南交通大学硕士研究生学位论文 第7 页 w e b 认证一般采用r c 4 序列密码算法【2 5 1 ,即用共享密钥将来自伪随机 数据产生器的数据生成任意字节长序列,然后将数据序列与明文进行异或处 理,生成加密文本。它最大的缺点是缺乏高度的安全保证。但整体方案简单 方便,不需要额外增加客户端软件,易于实施,对用户的兼容性最好。 根据以上的分析,表1 1 对p p p o e 、8 0 2 1 x 和w e b 这三种认证技术从产 生背景、标准协议等几个方面进行了比较。我们可以看出,w e b 认证的“标 准协议”和“设备支持”都为厂家私有,为我们提供了更为自由的开发环境, 同时使用该认证方式不需要安装客户端软件,非常符合热点场所无线局域网 的接入认证,因此我们选择w e b 认证方式。 表1 1 三种宽带接入认证技术的比较 认证技术 p p p o e8 0 2 1 xw e b 产生背景窄带 宽带针对局域网业务认证 标准协议 r f c 2 5 1 6 i e e e 标准厂家私有 客户端软件需要需要不需要 设备支持业界设备业界设备厂家私有 应用范围运营商首选 小规模商用酒店学校等 1 3 主要研究内容与论文结构 基于w e b 的w l a n 认证计费系统是一合作项目,由本文和朱建勋 撰写的基于w e b 和r a d r u s 的w l a n 认证计费系统组成。 本文研究的主体是基于w e b 的无线局域网接入认证计费系统的总体设 计以及后台数据库和w e b 服务器两大模块的具体设计和实现,另外还包括 整体系统整合方案的提出和实现 x 西南交通大学硕士研究生学位论文 第1 1 页 它根据用户提交的用户名和密码等信息,与后台数据库中的信息进行 核对以完成认证过程。同时该模块也负责用户异常断线的检测工作。 并且该模块内包含一个系统管理工具。 4 ) 后台数据库:存储用户信息,包括认证信息( 用户名,密码,i p 等) 、 业务属性信息、计费信息等等。 2 2 系统功能模块设计 2 2 1 系统功能的上线流程 本论文提出的w e b 接入认证计费系统的接入认证上线流程如图2 2 所 示,具体描述如下: 1 ) 用户打开计算机后,d h c p 模块给计算机分配一个动态i p 。此时用户 就可以访问特定资源。特定资源指的是用户无需认证就可以访问的网 络资源,由访问控制策略模块设定,如认证系统中的门户网站( 即 w e b 服务器模块提供的认证页面) 。 2 ) 用户需要访问受限资源时,打开浏览器提交h t t p 请求,该请求都被 访问控制策略模块重定向到w e b 服务器模块。w e b 服务器推出认 证页面。 3 ) 用户在认证页面向w e b 服务器模块提交用户认证信息,包括用户名、 密码和验证码。 4 ) w e b 服务器模块获取了用户名、密码和验证码后,与后台数据库中 的用户信息进行核对,即认证。如果认证通过,进行一下操作: a ) w e b 服务器模块向访问控制策略模块发送用户上线信息,访问控 制策略模块允许用户访问所有网络资源; b ) w e b 服务器模块向用户推出用户在线状态查询页面。这个页面的 作用有两个:对于用户来说,可通过该页面查看自己的在线信息, 如在线时间等:对于认证系统本身来说,则利用该页面监听用户 的在线情况,以确保异常断线下的计费准确度。 c ) w e b 服务器模块更新后台数据库,记录用户上线时间,开始计费。 如果认证不通过,则w e b 服务器模块再次向用户提供认证页面。 西南交通大学硕士研究生学位论文 第1 4 页 具体设计见第四章。 2 4 开发环境介绍 l i n u x 强大的网络功能和开放的源代码,可为系统开发提供很大便利, 因此本接入认证计费系统选择构建在l i n u x 平台下。系统访问控制策略模块 涉及到l i n u x 内核的编程,选择c 语言进行开发;而w e b 服务器模块采用 j s p s e r v l e t 技术,选择j a v a 语言进行开发,部份内容需要j a v a s c 邱t 语言的 辅助。以下具体介绍在r e d h a t 9 o 版本的“n u x 下开发、运行w e b 服务器模 块和后台数据库的环境。 2 。4 1j s p 动态网页设计语言 j s p ( j a v as e r v e rp a g e ,即j a v a 服务器端页面) 是由s u nm i c r o s y s t e m 公司 倡导、多家公司参与建立的一种动态网页技术标准,其在动态网页的创建中 有强大而特殊的功能【2 “。作为一种服务器端的脚本技术,j s p 技术通过将j a v a 程序代码( s c r i p t l e t ) 和j s p 标记( t a 曲嵌入到h t m l 页面中,能实现各种复杂的 逻辑功能,生成包含动态w e b 内容的j s p 页面。 利用j s p 技术可将内容的生成和显示进行分离【2 7 】,w e b 页面开发人员 可以用h t m l 或者x m l 标识来设计和格式化最终页面,用j s p 标识或者 s c r i p t l e t 来生成页面上的动态内容。生成内容的逻辑被封装在标识和 j a v a b e a n s 组件中,并且捆绑在s c r i p t l e t 中,所有的脚本在服务器端运行。这 样w e b 管理人员和页面设计者,能够编辑和使用j s p 页面,面不影响内容 的生成。在服务器端,j s p 引擎解释j s p 标识和小脚本,生成所请求的内容, 并且将结果以h t m l ( 或者) ( 】l ) 页面的形式发送回浏览器。这有助于作者 保护自己的代码,而又保证任何基于h t m l 的w e b 浏览器的完全可用性。 和传统的c g i 相比较,j s p 有相当的优势 2 ”。首先,在速度上,传统的 c g i 程序需要使用系统的标准输入输出设备来实现动态网页的生成,而j s p 是直接和服务器相关联的。而且对于c g i 来说,每一个访问就需要新增加一 个进程来处理,进程不断地建立和销毁对于作为w e b 服务器的计算机将是 不小的负担。其次,s p 是专门为w e b 开发而设计的,其目的是为了建立基 西南交通大学硕士研究生学位论文第1 5 页 于w e b 的应用程序,包含了一整套的规范和工具。使用j s p 技术可以很方 便她将一大堆,s p 页面组合成为一个w e b 应用程序。 由于j s p 页面的内置脚本语言是基于j a v a 编程语言的,而且所有的j s p 页面都被编译成为j a v as e r v l e t ,j s p 页面就具有j a v a 技术的所有好处,包括 健壮的存储管理和安全性等,尤其拥有j a v a 编程语言“一次编写,各处运行” 的特点。 进行j s p 开发工作必须安装j d k 软件包。j d k ( j a v a d e v e l o p m e n t k i t ) 2 9 即j a v a 开发工具包,是由s l l l l 免费提供的供w i n d o w s 、s 0 1 a r i s 以及l i n u x 使 用的j s p 运行环境。本系统选择的是适用于l i n u x 下的j d k l 5 0 。 2 4 2m y s q l 数据库和j d b c 驱动器 m y s q l 是一个跨平台的多用户、多线程的s q l 数据库系统,由一个服 务器守护程序m y s q l d 和很多不同的客户程序和库组成,具有客户机明艮务器 的分布式体系结构【3 1 ,同时也是l i n u x 系统中使用最为简单、性能稳定的数 据库系统,成为中小企业网站l i n u x 平台的首选自由数据库系统。其功能特 点如下: d ) 可以同时处理几乎不限数量的用户; e ) 处理多达5 0 ,0 0 0 ,0 0 0 以上的记录; f ) 命令执行速度快: g ) 简单有效的用户特权系统。 本系统选择的是r e d h a t 9 o 自带的m y s o l 版本。 用j a v a 程序访问m y s q l 数据库需要一个特定驱动器程序【3 2 】 3 8 。该驱动 程序是适合特定的数据库j d b c ( j a v ad a t a b a s ec o r h l e c t i v i t y ) 接口的实现。它 是由一个中间层,把i a v a 方法调用翻译为专用的数据库a p i 调用,然后用来 操作数据库。j d b c 驱动器可以完成三个功能: a ) 建立一个与数据源的连接; b ) 发送查询和u p d a t e 语句到数据源取回结果集: c ) 处理结果。 m y s q l 对应的驱动程序有很多,如m m m y s q l 、i d sj d b cd r i v e r 、 e t d i r e c td r i v e r 等。本系统选择的是m y s q l 官方驱动程序一一c o n n e c t o r j 3 1 ,其前身就是m m - m y s q l 。 西南交通大学硕士研究生学位论文第1 6 夏 2 4 3w e b 服务器 本系统w e b 服务器由a p a c h e 和t o m c a t 构成。 a p a c h e 源于n c s a 的h t c p d 服务器,是一个免费开源的h t t p 服务器, 现已成为世界上最流行的w e b 服务器软件之一【2 ”,市场占有率达6 0 左右。 r e d h a t 9 o 自带这个w e b 服务器软件。 t o m c a t 则是s u n 公司官方推荐的一个免费开源的s e r v l e t 和j s p 容器 3 3 j 3 4 】。它是j a k a r t a 项目中的一个重要的子项目,其被j a v a w o r i d 杂志的编辑 选为2 0 0 1 年度最具创新的i a v a 产品( m o s ti n n o v a t i v ej a v ap r o d u c t ) ,受到越来 越多软件公司和开发人员的喜爱。s e r v l e t 和j s p 的最新规范都可以在t o m c a t 的新版本中得到实现。 由于a p a c h e 的性能高于t o m c a t ,比t o m c a t 更快、更强壮,能够很好地 为网站的静态页面请求提供支持:而t o m c a t 负责处理j s p s e r v l e t ,可以很好 地为网站的动态页面请求提供支持。为了使w e b 服务器具有更好的可扩展 性和安全性,需要对a p a c h e 和t 0 m c a t 进行整合吲( 详见附录) 。 2 4 4 开发工具e c l i p s e e c l i p s e 是替代i b m 的商业软件s u a la g ef o rj a v a ( j ) 的下一代自由集 成开发环境( i d e ) ,也是一免费开源软件【3 6 】 3 7 l 。它可以通过安装各种插件成 为各种领域的工具,如编程工具、项目开发工具、建模工具、测试工具、版 本管理工具等;可以进行j a v a 应用程序开发、c + + 应用程序开发、w e b 应用 程序开发、j 2 e e 项目开发及s t n l t s 框架开发等。 根据需要,通过安装l o n l b o z3 0 1 5 4 f 5 5 1 、e m f s d o r u n t i m e2 o 1 3 7 】、 s q l e x p l o r e r 吲等插件将e c l i p s e 3 o 1 配置成j s p 和后台数据库m y s q l 的 开发工具。其中l o m b o z 和e m f s d o r n n t i m e 的版本都必须和所选的e c l i p s e 版本匹配。如e c l 谛e3 0 1 就必须对应l o m b o z3 o 1 和e m f s d o r u n t i m e 2 o 1 ,否则安装究成之后也无法正常运行。 2 5本章小结 本章主要介绍我们这个基于w e b 的接入认证计费系统的总体设计。首 西南交通大学硕士研究生学位论文 第1 7 页 先分析了系统需求、提出系统模型,给出系统模型图。并对系统开发的分工 作了简单介绍。然后从系统功能的上线流程和下线流程两方面介绍系统模块 设计,并给出了用户上线和下线的流程示意图。接着提出系统管理与维护的 设计,最后针对w e b 服务器模块和后台数据库,从动态网页涉及语言、后 台数据库、w e b 服务器应急系统开发工具等几个方面介绍了系统的开发环 境。 西南交通大学硕士研究生学位论文 第1 8 页 第三章后台数据库和w e b 服务器设计和实现 3 1 后台数据库设计 本系统是针对作者所在实验室的具体情况设计的,根据其用户群的特点 将用户分为5 类,分别是: a ) v i p :主要针对院长、副院长等特殊用户群,长期有效: b ) 教师:除v 口之外的教师,长期有效: c ) 学生:本实验室所有在读生,长期有效; d ) 过客账号:临时使用实验室网络的用户,如短期实习生等,有效期1 8 0 天: e ) 免费账号:针对来我校访问的学者,有效期1 8 0 天。 在计费方面,采取以时计费的方式。 系统根据用户结构和计费方式的特殊性,在后台数据库里一共建立了4 张表,分别是是u s e r s ,a c c o u n t ,g u e s t 和c a t e g o r y 。利用s q l e x p l o r e r 对数据库 进行建模,字段定义如下所示: ( 1 ) u s e r s 表 该表用于记录用户基本资料,如用户名、密码等。表3 1 给出了该表的 定义。 ( 2 ) a c c o u n t 表 该表用于记录每次用户上网的信息,如上网开始时间、结束时间以及持 续时间等。表3 2 给出了该表的定义。 ( 3 ) g u e s t 表 该表用于记录第一次生成的过客账号信息,包裹用户名和密码。当账号 被激活后,对应信息将从该表中删除。表3 3 给出了该表的定义。 ( 4 ) c a t e g o r y 表 该表用于记录不同帐号的收费信息,如单价、对应持续时间等。表3 4 给出了该表的定义。 西南交通大学硕士研究生学位论文 第1 9 页 表3 1u s e r s 表的定义 字段名 类型说明 u s e r i d v a r c h a r ( 2 0 ) 主键,用户i d d w d m d 5v a r c h a r ( 2 5 5 )经m d 5 加密的用户密码 n a m e v a r c h a r ( 3 0 ) 用户姓名 n u n m e r v a r c h a r ( 2 0 ) 用户学号 s t a t u s v a r c h a r ( 1 0 ) 用户所处状态:在线或离线 t i m e l e 矗 i n t ( 1 2 ) 用户剩余上网时间 u n s l g n e d a c c o u n t l e r n o a t ( 8 ,5 ) 用户帐号余额 l a s t o n l i n e d a t e t i m e 用户最后一词登陆时间 c a t e g o r yv a r c h a r ( 5 ) 用户所申请的帐号类别 e x p i r e d a t e d a t e t i m e用户帐号到期时间 a c t i v e t i n y i n t ( 4 ) 用于判断用户帐号是否含“有效期” 表3 2a c c o u n t 表的定义 字段名类型说明 u s e r i d v a r c h a r ( 2 0 ) 用户i d i d i n t ( 1 1 )主键,自增字段 u n s i g n e d s t a r t t i m e d a t e t i m e 本次上网开始时间 e n d t i m ed a t e t i m e本次上网结束时间 i p v a r c h a r ( 3 0 ) 用户本次上网的i p 地址 o n l i n e t i m e i t ( 1 0 ) 用户本次上网持续时间 u n s i g n e d c o n s u m p t i o nf i o a t ( 8 ,5 ) 用户上网消费金额 s t a t u s v a r c h a r ( 1o )用户本次状态:在线或离线 西南交通大学硕士研究生学位论文 第2 1 页 费类型、帐户余额、本次在线最长对长以及已在线时长等信息,如果用 户的在线时间超过了“本次在线最长时长”,用户将被迫自动断线。同 时提供三个按钮,分别是“下线”、“上网记录查询”、“修改密码”。通 过这三个按钮用户可以提交下线请求,查看过去3 0 天之内的上网记录 并可以随时修改自己的密码,以防密码被破解盗用。 该页面初始设定为2 0 秒刷新一次,如果用户异常断线则在3 0 秒内用户 将自动断线,详见4 3 3 。 ( 4 ) p a s s w o r d j s p 该页面是用户进行密码修改的页面。为了保证帐号的安全,用户有必要 不定期地修改密码。另外,对于过客账号,由于密码是系统生成的,不 便记忆,因此也有必要修改密码。 ( 5 )u s e r a c c o u n t j s p 该页面用来显示用户的过去3 0 天之内的上网记录。 ( 6 ) l o g o u t d o n e j s p 该页面是用户下线后的确认页面,并提示用户本次在线时长及帐户余 额。如果余额小于一定值,还将提醒用户进行充值。 图3 1 用户接入认证首页 西南交通大学硕士研究生学位论文 第2 2 页 图3 2 用户在线状态查询 图3 - 3 用户上网信息查询页面 西南交通大学硕士研究生学位论文 第2 3 页 3 2 2 用户身份认羹鎏鋈 讲始增箝蔷的藩嚣捕槽括采鼻铡尝茹嚣罂孕秀一整盒囊雾委霎蠢铺奏 荔辇;嚣嚣接誓蕉;糕妻1 弋一烈璎耀箍泷寸鸿辜褒。琴撙研驵舶鬟c 币昏 囊螽佰镝琏缁糟埕咎豁; 桨0 量型判;型蓦掣萋耍篓鲸囊口藩瞬篓誊掣蕊莹蠹荔晶圳受蚕丝判蒯 些攀砸璜一望| ;翠4 一i ! i 。囊;引i 冀;黠2 蠢搴hqi ,也是i n t e m e t 上进行应用开发最为通用的 a p i 。s o c k e t 提供了两台计算机之间进行通信的机制,通常用来实现客户端 ( c l i e n t ) 和服务器端( s e r v e r ) 的连接。一个s oc k e t 由一个i p 地址和一个 端口号唯一确定。 一个t c p 连接的建立开始于t c p 客户端创建一个s o c k e t ,然后调用 c o n e c t 函数来启动t c p 协议;在服务器端,当s o c k e t 建立以后,调用函数 b i n d 绑定其公认端口号,然后调用l i s t e n 来准备接收客户端请求,最后调用 函数a c c 印t 完成接收,这样一次通信便告结束【5 1 1 。客户端和服务器端都可以 通过s e n d ,w r i t e 等方法与对方通信。直到最后需要关闭连接的时候,客户 端和服务器端调用函数c l o s e 来关闭连接。 因此对于一个功能齐全的s o c k e t ,都要包含以下基本结构,或者说其工 作过程包含以下四个基本步骤: a ) 创建s o ck e t ; b ) 打开连接到s o c k e t 的输入出流; c ) 按照一定的协议对s o c k e t 进行读写操作; d 1 关闭s o c k e t 。 s o c k e t编程主要是指基于t c p i p 协议的网络编程,可以用多种程序语言 来实现,如c语言,p e r l 语言,j a v a 语言等,而且用不同程序语言编写的客 户端和服务器端s o c k e t 可以实现t c p 连接。本系统的w e b 服务器模块实际 亘查銮塑盔堂耍主堑塞皇兰垡笙窒 篁:i 要 - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - _ _ _ _ 。- 。 不同的属性有不同的参数值。其中h t t p - e q u i v 属性中的r e 缸s h 参数用于定义 页面自动刷新的时间间隔。针对本系统的要求,用户在线状态查询页面 ( o n l i n e j s p ) 的m e t a 标签的定义为: 其中”2 0 ”即系统初始定义的页面自动刷新的时间间隔,单位为“秒”,管 理员可以根据需要对其进行修改。 3 2 3 2 服务器端断线检测程序 当后台数据库的数据得到更新后,服务器端将自动调用用户异常断线检 测程序检测用户是否异常断线。该检测程序满足以下3 个要求: 1 ) 检测程序必须在认证系统启动时自动加载运行; 2 ) 检测程序的存活期必须为认证系统的整个生命期; 3 ) 检测程序必须能定时对数据库进行扫描,且只有在前一次检测完成 时再进行第二次检测。 根据这3 个要求,本论文提出了s e r v l e t 监听器结合j a v a 定时器的检测 方案。 编写监听器需要实现相应的接口。本系统需要实现的是 i a v a ) 【s e r v l e t s e r v l e t c o n t c x t l i s t e n e r 接口,该接口在s e r v l e t 2 3a p i 中引入【4 3 】, 用于监听 s e r v l e t c o n t c x t 。当创建s e r v l e t c o n t e x t时,激发 c o a v a b e a n s 实现,分别是 c h e c k o n l i n e l i s t e n e r l i a v a 和c h e c k o n l i n e r j a v a 。其中c h e c k o n l i n e l i s t e n e r a v a 是监听器的实现类,调用 j a v a u t i l t i m e r ,定义了检测程序周期性执行的时间间隔;c h e c k o n li n e r j a v a 则定义了t i m e r 所安排执行的用户异常断线检测程 序。从javautil ,t i m e r t a s k 继承,它根据a c c o u n t 表e n d t i m e 项的更新值找出断线用户,并发送s o c k e t 信息给访问控制策略模块。同时在c h e c k o n l i n e r ,i a v a 西南交通大学硕士研究生学位论文第2 7 更 本系统初始设定为每3 0 秒扫描一次数据库,管理员可以在源代码中修改 该值。需要注意该值的取值,首先该值必须大于页面刷新时间间隔,并且大 小适宜,太小会增加系统负担:太大则影响计费的精确度。 3 3 系统管理工具 为了便于管理员管理认证系统,我特地设计并开发了一个基于w e b 方 式的系统管理工具,分前台和后台两部分。前台由j s p 页面组成,它包括了 对用户的查看、添加、删除、修改、搜索等一系列操作;后台则是在服务器 启动时自动运行的数据库清理程序。以下将对这两部分内容作详细的介绍。 3 3 1 系统管理工具前台 系统管理工具前台一共设计并实现了1 7 个j s p 管理界面,每个界面包 括导航栏和操作栏。导航栏主要方便管理员选择要进行的操作,操作栏则是 管理员进行相应操作的界面。参见图3 5 管理员登录界面,图中左侧即导航 栏,右侧操作栏为管理员进行登录操作的界面。 图3 ,5 管理员登录页面 西南交通大学硕士研究生学位论文第2 9 页 免费帐号。管理员一次只能添加一个非过客帐号。 添加过客账号是本系统的一个特色功能,可以次性添加最多5 个帐 号和对应密码。管理员只需在添加过客帐号的页面输入帐号的前缀和一次性 添加的帐号个数,提交请求后系统将自动生成带有相同前缀的一组帐号和相 应密码。这组帐号和密码最初保存在后台数据库的g u e s t 表中,管理员可以 随时查询帐号名和密码。在帐号交付使用前,管理员需要对过客帐号进行激 活操作,激活之后该帐号资料将从g u e s t 表中删除,同时该帐号的用户名和 经过加密后的密码将被添加到u s e r s 表中。这样既保证了使用中过客帐号信 息的安全,也保证管理员可以随时查询未被启用的帐号和密码,以避免非过 客帐号的闲置。 3 3 ,1 4 查找用户 查找用户分为快速查找和分类查找。快速查找可以根据管理员输入的具 体信息进行模糊查找。分类查找分为“付费类型”、“在线状态”、“过期帐号” 三个大类的查找。管理员可以根据查找的结果对用户进行信息查看、删除、 修改等一系列操作。 3 3 1 5 用户续费 管理员可以通过用户续费界面随时为用户进行续费操作。但当用户续费 时改变付费类型时,为保证用户剩余上网时长不受影响,系统将相应改变用 户余额。余额改变公式为( 原余额原单价( 元,j 、时) ) + 现单价+ 续费金额。 3 3 1 6 费用设定 该界面是管理员设定各类帐号付费标准的界面,这样可以提高系统收费 的灵活性。 3 3 1 7 管理员注销 管理员完成管理操作之后,通过注销退出系统。再次登录时需要重新通 过登录界面进行登录。 3 3 2 系统管理工具后台 系统管理工具前台是对用户帐号的全面管理,而系统管理工具后台则是 为维护后台数据库而设计。因为用户每次登录系统都会在后台数据库的 a c c 0 1 l t 表中增加新的纪录。如果不定时进行清理,势必会增加系统负荷,最 终导致系统崩溃。 系统管理工具后台是个j a v as e r v l e t 程序,在j a v a 定时器的控制下, 西南交通大学硕士研究生学位论文 第3 0 页 该程序将在w e b 服务器启动5 秒后自动运行,删除后台数据库a c c 0 1 1 1 1 t 表内 3 0 天以前的记录。其关键源代码见下: 3 4 本章小结 本章主要介绍了后台数据库和w e b 服务器的设计与实现。本章首先阐 述了选择m y s q l 数据库的理由,列出了数据库各表的用途与定义;之后从 用户界面设计、身份认证、异常断线检测等三个方面具体介绍了w e b 服务 器模块的设计和实现,提出并实现密码和验证码的双重认证方式以及s e r v l e t 监听器结合j a v a 定时器的异常断线检测方案;最后从系统管理工具的前台和 后台两方面阐明该基于w e b 方式的系统管理工具的完善性和必要性,提出 并实现了数据库自动清理程序。 西南交通大学硕士研究生学位论文 第31 页 第四章系统整合 本系统是合作课题,整体系统由四大模块组成。本论文研究的重点是 w e b 服务器模块和后台数据库两大模块;朱建勋同学论文研究的重点是 d h c p 模块和访问控制策略模块两大模块。完成各大模块的研究之后,最关 键的是系统的整体整合问题,即两人负责的两大关键模块间( 访问控制策略 模块和w e b 服务器模块) 的整合问题。图4 1 给出了系统的整合方案:采 用了重定向技术和s o c k e t 通信技术完成整合。 图4 1 两大模块间的整合 4 1 整合技术重定向技术 在用户通过认证之前,当用户在浏览器地址栏输入任意网址后,系统会 将用户重定向到用户认证页面1 0 9 i n js p ,从而完成了访问控制策略模块和 w e b 服务器模块第一步整合。该步整合涉及到w e b 服务器和访问控制策略 两大模块的重定向技术。以下针对重定向技术作简单介绍: 1 ) w e b 服务器端的重定向 w e b 服务器端主要的j s p s e r v l e t 重定向技术有两种 4 6 1 【4 7 1 :一是使用 r e q u e s t d s i p a t c h e r 的f o r w a r d ( ) 方法,即 ;一是使

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论