第虢 期 2Ol0年4月 计算机技术与发展 C0MP1玎ER TE(’HN0 0(;Y AND DEVELDPM匮NT Vl0I.20 No.4 Apr
. 2010
基于.NET的学生信息管理系统
的设计与实现
唐玉芳,张永胜
(山东师范大学 信息科学与
工程
路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理
学院,山东 济南 250014)
摘 要:分析了当前高校学生信息管理工作中面临的问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
,研究了RBAC中模型的建立和实现这两大热点,开发了一个基
于B/S结构的系统——山东师范大学信息科学与工程学院的高校学生信息管理系统。该系统通过 ADO.NET技术对
SOL S∞ 20o5数据库进行访问,使用户在Web服务下遵循RBAC访问控制机制高安全性地使用该系统。特别是基于
RBAC机制的权限管理模块,具有代码简洁、逻辑结构清晰、安全性高、可扩展性强等优点。通过该系统对学生信息进行实
时跟踪,做到信息准确采集,科学统计和快速查询,极大地提高了高校学生信息管理工作的效率,有力地促进了高校学生
信息管理的开展。
关键词:高校学生信息管理系统;.NET;基于角色的访问控制;MicrosoftSOL~l'ver 2005
中图分类号:G434 文献标识码:A 文章编号:1673—629x(2OlO)O4—0242一o4
Design and Implementation of College Student Information
M an agement System Based on .NET
TANG Yu—fang,ZHANG Yong—sheng
(Sclmol of Information Science&Engineering,Shandong Normal University,Jinan 250014,China)
Abstract:In this paper,analyse the current problems in the college student information m珊磕gern锄t system.Study the establishment and
implementationofmodel basedOilRBAC.And develop a system based onB/S structure--themllege studentinformationmarlagdnent
system from School 0f Information Science and Engineering in Shandong Normal University.This stem aL~2e$$es SOL Segver 2oo5
database byAD0.N王汀’technology,and enables Lisershigh—security usP,gefollowing theRBACac0essmntrolmechani~nunderweb ser—
vice.In particular,privilege management module based 0n RBAC mechanism has advantages of smaller code,clear l0gical structure,high
security an d good expansibility.
Keywords:college studentinformation rllanag~ent system;.NET;role—based 8ccess control:MicrosoftSO LServer2005
O 引 言
随着办学时间的不断增长,办学规模的不断扩大,
各高校应届和往届学生数量急剧增加,学生的各种相
关信息成倍增长。对于每一所高校,面对如此庞大的
信息量,要准确高效地开展学生管理工作,任务的艰巨
程度不可想象。通过开发高校学生信息管理系统
(College Students Information Management System,
CSIMS),对学生个人信息进行实时跟踪,做到信息准
确采集,科学统计和快速查询。
收稿日期:2009—07—27;修回日期:2oo9—1】一04
基金项目:山东省自然科学基金项目(Y2oo8G22)
作者简介:唐玉芳(1983一),男,山东烟台人,硕士研究生,研究方向
为Web服务和网络安全;张永胜,副教授,研究方向为 Web服务安
全和面向对象服务。
文中以山东师范大学信息科学与工程学院自主研
发的高校学生信息管理系统为实例,介绍了开发该系
统使用的关键技术,给出了系统的运行环境,阐述了该
系统数据库的设计和各个功能模块的实现,特别描述
了基于RBAC的权限管理模块的具体实现。
1 关键技术
1.1 .NETFramework简介
. NET的核心是.NET Framework,它由公共语言
运行库和类库组成,为应用程序提供了中间代码的支
持,并且可以通过运行时来管理这些中间代码,从而实
现了很多计算机语言编写的程序跨平台运行。. 订
最独特的属性是它的多语言支持,开发人员可以自由
地为特定的组件选择最好的语言同时又不损失该平台
的能力和自由度。另外,使用一种语言编写的组件也
第4期 唐玉芳等:基于.NET的学生信息管理系统的设计与实现 ·243·
能够很容易地与使用另外一种语言编写的组件进行互
操作[1l。
1.2 ADO.NET简介
. NET平台是微软提供的一个通用的框架——框
架类库,该类库将跨越所有存在的Windows API函数,
包含一些经常使用的类库,XML和ADO对象模型被
集成在一个树状的类的集合中,这个集合就叫做
ADO.N ro .
它是为.NE T数据库应用程序定义的开发办法,
是一个对数据库的整套设计环境。它拥有所有的和数
据访问有关的类,这些类由一些数据容器对象组成,这
些对象具有一般的数据处理能力——Inde)【ing、Sort.
ing、Viewing等
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
。
1.3 RBAC简介
基于角色的访问控制(Role—Based Access Con—
trol,RBAC)引入角色的概念,解耦了用户(即动作主
体)与权限(即对对象的一个操作)之间的关系。所有
权限授予角色而不直接授予用户。RBAC的两大特征
是:1)由于角色 限之间的变化比角色/用户之间的
变化要慢得多,从而减小了授权管理的复杂性,降低管
理开销;2)灵活地支持企业的安全策略,对企业的变化
有很大的伸缩性E2,3】。图1
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示了RBAC模型中用户
(Users)、角色(Roles)和权限(Privileges)="者之间的关
系。
角色等级
3 系统设计
3.1 系统功能分析
本系统主要由学生基本信息管理模块、成绩管理
模块、奖励管理模块、处分管理模块、社会实践管理模
块、资助管理模块、用户权限管理模块等7个功能模块
组成,用户通过B/S模式(web浏览器)访问系统。
用户分为两大类:
一 是高级用户,负责学生信息查阅、修改、删除等
操作,这类用户拥有较高级别的操作权限,对安全性能
要求高的敏感数据进行操作;
二是一般用户(如学生),负责将个人信息(如家庭
地址、父母联系方式等信息)录入系统,可以随时随地
查阅个人相关信息,这类用户数量众多,对系统的操作
权限相对较小。
3.2 数据库设计
本系统使用SQL Server 2005建立数据库CSIMS.
mdf,其中主要包括以下几个数据表H J:
1)学生基本信息表:在该数据表中,主要存储学生
的基本信息,如:学号、姓名、性别等,其中以学号作为
该表的主键。
2)学生成绩信息表:在该数据表中,主要存储学生
每一学年的第一、二学期各门考试课程的成绩,其中以
学号作为该表的外键,与学生基本信息表产生关联。
图1 RBAC模型中用户、角色和权限三者~-J;3的关系
2 系统运行环境
文中介绍的高校学生信息管理系统运行在以下的
环境中:
1)服务器端:
操作系统:Windows Server 2003
数据库:Microsoft SQL Server 2005
脚本处理:IIS5.1/6.0
2)客户端:
操作系统:Windows 2o00/XP/Ⅵsta
浏览器:IE6.0/7.0/8.0和 Maxthon2.0等主流浏
览器
3)获得奖励信息表:在该数据表中,
主要存储学生每一学年获得的校级和校
外奖励,其中以学号作为该表的外键,与
学生基本信息表产生关联。
4)接受处分信息表:在该数据表中,
主要存储学生每一年度所受到的处分,
其中以学号作为该表的外键,与学生基
本信息表产生关联。
5)受到资助信息表:在该数据表中,
主要存储学生每一年度收到的资助情况,其中以学号
作为该表的外键,与学生基本信息表产生关联。
6)参加社会实践活动信息表:在该数据表中,主要
存储学生每一年度所参加的社会实践活动情况,其中
以学号作为该表的外键,与学生基本信息表产生关联。
以下为CSIMS数据库中与用户权限管理相关的
数据表[5-7 J:
a.用户表:在该数据表中,主要存储注册用户的
个人信息,如该用户所属的角色,其中以用户号作为该
表的主键,User—Role作为该表的外键,与角色表产生
关联。
b.角色表:在该数据表中,主要存储系统角色信
息,如该角色所分配的系统操作权限,其中以角色号作
· 244 计算机技术与发展 第 20卷
为该表的主键,Role—Privilege作为该表的外键,与权
限表产生关联。
C.权限表:在该数据表中,主要存储系统设定的
操作权限,如具体操作权限与相应功能模块类之间的
映射关系,其中以权限号作为该表的主键,与角色表产
生关联。
图2表示了SIMS数据库中与用户权限管理相关
的用户表、角色表和权限表之间的关联关系。
PriviIegeTabIe
列 名 歉 据莛量l 允许空
, Pri'vi~geNo varcham'(S1) 口
Pri'v~geP4ame varcham'(MaX) 口
Prhtilege
_ FunctionClamss varchar(50 口
Prh*q
— lRL vorchex(i'~X) []
口
RoleT曲 Ie
列名 数据类型 允许空
留 RoleNo varchar(50) 口
RoleName varchar(HAX) 口
Role PrJ~ , vaechar(SO) 口
口
羹
Usere-Table
列名 数据类墨 允许空
譬 varch~r(SO) 口
u №me varchar(t,t&X) 口
UserPvvcl varchar(HAX) 口
User_Role varchar(50) 口
口
图2 与用户权限管理相关的用户表、
角色表和权限表之间的关联关系
3.3 各个功能模块的具体实现
系统数据库 CSIMS.mdb建立后,使用ASP.NET
技术,主要通过Visual C#.NET语言实现系统各个功
能模块的开发。
3.3.1 用户登陆页面Login.aspx
实现用户注册和登录验证功能。以用户登录验证
为例,若账号和密码为非空值,则查询用户表
(UserTable),核实该用户账号(UserName)是否存在。
如果不存在,则提示用户输入一个已注册的账号或者
注册一个新账号;如果存在,判断输入的密码与用户表
中该账号所对应的密码是否相同。如果相同,则允许
用户访问本系统;否则提示用户密码错误。
3.3.2 6个功能模块
学生基本信息管理模块、成绩管理模块、奖励管理
模块、处分管理模块、社会实践管理模块和资助管理模
啊-I.h~6个功能模块通过相应的操作页面,对数据库
CSIMS.md{中相应数据表执行SQL命令,实现对学生
信息(如姓名、成绩、受到奖励等)的插入、查询、修改和
删除等操作。例如查询给定学号为2007021087的学
生在第一学年获得的校内奖励情况。
3.3.3 用户权限管理模块
该模块基于RBAC机制,实现了授权管理和权限
验证功能。授权管理过程分为两个部分,首先实现访
问权限与角色相关联,然后实现角色与用户相关联,从
而实现了用户与访问权限的逻辑分离。权限验证的任
务就是验证用户是否拥有对系统中某些资源的某些操
作权限(如浏览全部学生的考试成绩)[引。图3表示了
用户权限验证过程的数据
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
。
用户登录系统
验证用户对系统资源的操作权限
将相关系统资源的操作权限分派给用户
用户对相关系统II用户对相关系统I ⋯ I用户对相关系统
资源的操作过程II资源的撵作过程f “⋯。 l资源的操作过程
返回操作结果
图3 用户权限管理模块的数据流程
●分派用户对系统资源的操作权限代码如下:
public static RoleActions Getlnstance()
{
/*返回唯一角色实例 */
}
public Object DispatchAndCheck(string UserNo,Func.
Actions action,Object Parameter)
{
/*尝试以指定的UserNo,带有参数Parameter来执行
Action。调用 UserNoToRoleNo()、GetRolePriviledges()
和CheckPriviledges()来进行约束性检测,仅当有足够
权限的条件下,调用 Func.Dispatch()来进行具体操作
的派遣实现*/
}
private bool CheckPrivileges(Func.Actions action,string
[]Privileges)
{
第4期 唐玉芳等:基于.NET的学生信息管理系统的设计与实现 ·245·
/*将权限表在内存中缓存,并检查是否拥有满足 ac—
tion的 priviledge*/
}
private string[]GetRolePrivileges(string RoleNo)
{
/*遍历角色表以找到目标角色并处理,返回目标角色
所拥有的权限数组 */
}
private string UserNoToRoleNo(string UserNo)
{
/*遍历用户表,找到指定用户的角色编号*/
}
●用户对系统资源操作过程的代码如下:
pubic classFunc
{
pubic~9.unl Actions
{
/*定义所有的具体操作,如Query,I>-.1ete,Insert*/
}
pubic static Object Dispatch(Actions action,Obkct Parameter)
{
/*根据参数中的具体操作来分派操作,并将它们派遣到预定义
好的三种操作中进行处理*/
switch(action)
{
/*根据操作类型转到三种不同的方法中处理,并在转到前,变
换参数为指定类型*/
caseAc6c目1s.Query:
result=(Object)Query(Parameter as咖 );
break;
~:ase Actions.Delete:
result=(Object)Delete(Parameter as string);
break;
case Actions.Insert:
Obiect[]P=(Object[])Parameter;
result= (Object)Insert(p[0]as string,P[1]as Dictionary<
string,string>);
break;
default:
break;
}
/*返回处理结果*/
}
private staticDictionary
Query(string UserNo)
{
/*操作 Query的原型 */
}
privatestatic boolDelete(string UserNo)
{
/*操作Delete的原型*/
}
private static bool Insert(string UserNo,Dictionary parameters)
{
/*操作 Insert的原型 */
}
l
4 结束语
在分析当前高校学生信息管理工作所面临的问题
的基础 上,使 用 ASP.NET技术、Visual C#和
Java_Script等编程语言实现了高校学生信息管理系统
(College Student Information Management System,
CSIMS)。
通过使用(2SIMS,学生可以实时准确地将个人信
息录入高校学生信息管理系统数据库,随时随地查询
个人信息。从而减少了教学管理人员录入信息的工作
量,使得教学管理人员能够将主要精力放在学生信息
审核和查阅工作上,为实现高校学生信息管理的网络
化、数字化打下了基础,提高学生信息管理工作的科学
性,进而促进高校学生管理工作的高效率开展。
参考文献:
【1] Hart C,Kauffrnan J,Susmlan D.Beghan~ ASP.NET 2.0
withC#[M].IrldiaIlap0lis,USA:WroxPress,2006.
[2] Crampton J,Loin~G.Administrative SCOpe:A foundation
for roh—basedadministrativemodels[J].TransactionsOil In.
formation System Security(TISSEC),2003,6(2):201—
2O3.
[3] CHOU Shih—Chion.AnRBAC—BasedAccessControlMod—
d for Object—Oriented Systems Offering Dyllamic Aspect
Features[J].IEICE Transactions on Information and Sys—
terllS,2005,E88一D(9):2143—2147.
[4] 萨师煊,王 珊.数据库系统概论[M].北京:高等教育出
版社,1985.
[5] 朱莉娟,张 洁.基于 Web平台的信息管理系统的研究
[J].微计算机信息,20O8(7—3):257—261.
[6] 刘金晓.Web应用系统中权限控制的研究与实现[J].计算
机工程与设计,2008,29(10):2550—2553.
[7] 蔡长安.基于B/S模式的学生信息管理系统设计与实现
[J].计算机工程与设计,2006,27(14):2585—2587.
[8] 查义国,徐小岩,张毓森.在 Web上实现基于角色的访问控
制[J].计算机研究与发展,2002,39(3):257—263.