基于MVC架构的Struts框架实现校园网认证计费体系系统

  • 格式:pdf
  • 大小:489.54 KB
  • 文档页数:9

http://www.paper.edu.cn

- 1 -基于MVC架构的Struts框架实现校园网认证计费体

系系统

刘祥颖

天津工业大学计算机技术与自动化学院,天津(300160)

E-mail:liuxiangying@tjpu.edu.cn

摘 要:本文针对当前校园网认证计费体系出现的网络安全与性能问题,提出了先进的

802.1x + Radius认证计费体系方案,采用基于MVC架构的Struts框架结构编程,实现了控

制器、视图和模型层的完全分离,易于修改,便于维护,具有良好的可扩展性。

关键词:MVC,Struts,Radius,802.1x协议,身份认证

1.引言

随着校园网的规模的扩大,缺乏合理的管理模式,缺乏灵活的计费策略,网络的安全

性及稳定性得不到保障等问题也逐渐暴露并显现出其严重性。因此,如何对网络中的各种资

源进行有效的管理和分配,已经成为高校校园网络管理者的一个重要课题。

本文结合MVC架构中基于J2EE的Struts模式,设计并实现了基于802.1x的校园网认

证及计费管理系统的解决方案。本系统采用802.1x + Radius认证计费体系方案,对用户身

份进行认证;使用Radius服务器实时采集数据,制定了灵活的计费策略对用户进行计费;

校园网络计费管理系统和用户自服务子系统,全面解决了上网用户身份认证、授权、上网时

间/流量计费、收费结算与费用查询、接入管理等宽带校园网络应用过程中面临的核心问题。

本文实现的校园网认证计费方案,与J2EE Struts架构进行了优化整合,实现了身份认

证系统、后台计费主系统和计费前端管理系统等主要功能。

2.系统设计方案

针对校园网建设的目前需求和以往认证及计费系统的弊端,本文开发和设计出基于

802.lx的认证及计费管理系统。该系统采用802.1x + Radius认证计费体系方案,对用户身份

进行认证;使用Radius服务器实时采集数据,制定了灵活的计费策略对用户进行计费;并

结合MVC架构中的基于J2EE的Struts模式设计的校园网络计费管理系统和用户自服务子

系统,全面解决了上网用户身份认证、授权、上网时间/流量计费、收费结算与费用查询、

接入管理等宽带校园网络应用过程中面临的核心问题。

2.1 802.1x认证协议

802.1x协议是基于Client/Server的访问控制和认证协议,它作为二层协议,不需要到

达三层,对设备的整体性能要求不高,可以有效降低建网成本;借用了在RAS系统中常用

的EAP(扩展认证协议),可以提供良好的扩展性和适应性,实现对传统PPP认证架构的

兼容;802.1x的认证体系结构中采用了“可控端口”和“不可控端口”的逻辑功能,从而可以实

现业务与认证的分离。由Radius和交换机利用不可控的逻辑端口共同完成对用户的认证与

控制,业务报文直接承载在正常的二层报文上通过可控端口进行交换,通过认证之后的数据

包是无需封装的纯数据包;可以使用现有的后台认证系统降低部署的成本,并有丰富的业务

支持;可以映射不同的用户认证等级到不同的VLANL;可以使交换端口和无线LAN具有http://www.paper.edu.cn

- 2 -安全的认证接入功能。

802.1x协议作为一种基于端口的网络接入控制技术,只关注LAN端口的开关,通过认

证时,LAN端口打开,否则端口处于关闭状态。认证的结果仅仅是LAN端口状态的改变,

不涉及传统认证技术必须考虑的IP地址协商与分配问题。因此,802.1x也是目前各种认证

技术中最易实现的一种解决方案之一。[1]

2.2 Radius认证

Radius(Remote Authorization Dial In User Service)是一个应用广泛的标准,用于对网

络用户的身份验证。它能提供安全性、身份认证和计费管理,提供对AAA的支持,即

Authentication(认证)、Authorization(授权)和Accounting(计费)。Radius计费为存储

的登录网络用户会话中搜集到的计费数据提供了可编程的接口。采用客户机/服务器模型,

其中客户机是网络访问服务器(Network Access Server,NAS),服务器是接收并存储来自

一个或多个NAS的计费数据的进程。他们之间的通信协议利用简单的Account-Request(账

户请求)包实现客户机到服务器的数据通信,利用Account-Response(账户应答)包作为回

应,表示数据已成功接收。

Radius计费采用可扩展的代码/长度/值的格式传输计费数据。协议只需选用新的代码,

就能够增加新的属性。据估计,未来厂商的Radius实现中将增加针对服务的数据类型,例

如:使用特定COS发送的数据,特定响应时间发送的数据以及其他策略信息,随着时间的

推移,这些数据类型可能成为标准代码。

2.3 系统设计框架

本系统采用802.1x + Radius认证计费体系方案。各子网内的用户通过运行客户端软件

输入用户名和密码,系统自动将该信息经由NAS(Network Access Server)传送至Radius

Server进行认证,身份验证通过后,由DHCP服务器给用户分配合法的IP地址(也可分配

固定IP),允许其使用整个网络资源,如果验证未能通过,用户只能在子网内进行通信。

通过安全登录、认证,用户才能取得合法的IP地址,用户的IP地址与用户的账号唯一对应,

通过网络管理软件,对用户使用网络的情况进行监控,有效地防止了IP地址盗用和非法用

户使用网络,保障了网络的安全。校园网认证及计费管理系统网络构架如图1所示:

http://www.paper.edu.cn

- 3 -

防火墙

radius服务器路由器

核心交换机

汇聚交换机mysql数据库

图1 校园网认证及计费管理系统网络构架

用户通过客户端连接交换机,交换机将用户请求信息通过非受控端口发送至Radius服

务器,进行身份认证,身份认证通过则打开交换机一个逻辑端口的受控端口,并利用受控端

口通信。交换机实时将流量和时间等信息传至Radius服务器,作为计费的原始数据。

3. MVC架构和Struts框架介绍

本系统采用基于MVC架构的Struts框架结构编程,为系统提供了一个友好的用户界面,

具有易于扩展和扩充,易于操作和管理等优点。

3.1 MVC的结构

MVC是Model-View-Controller的简称[2],即把一个应用的输入、处理、输出流程按照

Model、View、Controller的方式进行分离。这样一个应用被分成模型、视图和控制器三部

分。模型层表示数据和业务逻辑,视图层提供数据显示和用户输入,控制层负责派遣用户请

求和控制流程。图2显示了这几个模块各自的功能以及它们的相互关系:

应用MVC可以使多个视图能共享一个模型,同一个Web应用程序会提供多种用户界面,

业务逻辑和表示层分离,同一个模型可以被不同的视图重用,大大提高了代码的可重用性。

此外,控制器提高了应用程序的灵活性和可配置性。

http://www.paper.edu.cn

- 4 -

图2 MVC设计模式

3.2 Struts框架

Struts按照MVC模式的思想,提供了一种创建Web应用程序的框架。其中对应用程序

的用户界面表示和数据的后端逻辑处理代码进行了抽象,整合了Servlets和JSP在Web应

用开发上的优势以建立灵活,扩展性强,复用程度高的应用系统。Struts是一个“Web应用

框架”,实现了MVC设计模式,它同时包含了丰富的标记库和独立于该框架工作的实用程

序类,可以大大简化J2EE的Web应用开发。Struts的工作原理如图3所示:

图3 Struts的工作原理

4. 系统功能设计

4.1 计费系统软件结构 http://www.paper.edu.cn

- 5 -

图4 校园网计费系统软件结构图

在完成用户身份认证后,启用访问费用判断模块来判断用户是否具有足够金额访问网络

(账户金额>0),可根据实际情况断开或者保持用户的网络连接(通过控制受控端口的状态)。

在服务器强制断开用户网络连接或者用户主动断开网络连接时,用户此次使用网络的流量、

使用时间等信息自动写入数据库中。定时启动计费策略模块,计算出用户在定时范围内的网

络通信费用,修改数据库中的账户余额。

4.2 计费前端管理系统软件体系结构

计费管理系统层次结构图如图5所示:

图5 计费管理系统层次结构图

本认证及计费管理系统主要功能包括:

1. 身份认证系统:在校园网中实施基于802.1x + Radius的认证系统。用户输入用户名和 http://www.paper.edu.cn

- 6 -密码,报文送达交换机端口,此时交换机相应端口对于此用户来说是非授权状态,报文打上

相应端口的PVID,然后根据用户名所带域名送到相应域中进行认证,如果该域配置了radius

认证方式,那么交换机就把该报文转为radius报文送给相应的认证和计费服务器,认证和计

费服务器如果存在相应的用户名和密码,就返回认证成功消息给交换机,此时端口对此用户

变为授权状态,如果用户名不存在或者密码错误等,就返回认证不成功消息给交换机,端口

仍然为非授权状态。

2. 后台计费主系统:用于数据库中的计费信息进行统计汇总,并按照预先定义的计算规则

进行费用计算,生成计费账单,扣除用户预交费用等。

3. 计费前端管理系统:包括用户组的管理、用户的管理、计费策略管理、缴费管理、网络

查询管理、用户权限管理。用户自服务模块提供界面供用户直接查询流水、账单以及修改用

户信息等功能。

4.3 数据库总体设计

对于目前的网络来说,由于网络上的设备主要有交换设备和路由器,因此计费数据可从

交换设备和路由器上获得,实际上,该两种设备已经包含了计费所需的信息。在本解决方案

中,数据的采集可通过Radius协议直接把接入交换机上的数据读入认证服务器中。Radius

会自动在mysql数据库中创建表,这几个表表名如下[3]:nas,radacct,radcheck ,radgroupcheck,

radgroupreply,radreply ,radpostauth,usergroup,详情见图6所示:

图6 Radius认证计费数据表结构

5. 系统功能的实现

5.1 认证模块的实现

在网络最低端的接入层采用具有802.1x技术的交换机来达到对端口控制的目的。本系

统选择了Linux操作系统(RedHat Linux 7.2)作为服务器的平台。作为解决方案的核心,