资源描述
企业信息文档管理系统
摘 要
随着信息处理技术和网络技术的发展,企业信息文档管理系统逐渐成为提高办公效率、节约成本的有效工具。本文详细论述了基于Web的企业信息文档管理系统的设计过程。系统用ASP.NET 2005作开发平台,C#作编程语言,SQL Server 2000作数据库管理系统。
根据企业文档管理系统的特点,可将其分为前台和后台两个部分。前台主要包括用户注册登录功能、文档信息查询功能和文档信息打印功能等;后台主要包括用户权限管理功能、文档类别管理功能、文档信息管理功能和文档附件管理功能等。
目 录
总页数:28页
1引言 1
1.1开发背景 1
1.2 研究现状 1
1.3 本课题研究的意义 1
3需求分析及系统设计 2
3.1需求分析 2
3.3数据库的设计与实现 3
3.4 企业信息文档管理系统ER图 5
3.5部分存储过程的建立 5
4 系统设计 7
4.1系统的整体设计与构思 7
4.2 模块的设定及模块的功能 8
5 各功能模块的实现 10
5.1用户注册登录 10
5.1.1用户角色管理 10
5.1.2文档类别管理 11
5.1.3 文档信息管理 11
5.2 用户登录模块 12
5.3 用户管理模块 15
5.3.1 添加用户 15
5.3.2 修改用户密码 19
5.3.3 修改用户信息 19
5.3.4 删除用户 19
5.4角色管理模块 19
5.4.1 角色添加 20
5.4.2 修改角色 20
5.4.3 删除角色 20
5.5部门管理模块 20
5.5.1 部门的添加 20
5.5.2 修改部门 20
5.5.3 删除部门 21
结 论 25
1引言
1.1开发背景
企业信息文档管理系统是信息技术在公司里管理中最典型的应用。传统文档管理模式是由人工去管理的,效率低下,无法适用于当前对文档管理的需求。企业信息文档管理系统基于网络技术,使办公室对文档的管理工作逐步信息化,从而形成由办公室人员与办公室设备共同构成服务于某种目标的人机文档处理系统,因而可以将跨地区的各个部门紧密连接在一起,从而达到对文档的实时共享,可以最大程度地发挥各级人员的工作效率。
通过以上分析,得出结论:文档管理是一个过程,因为网络化的企业信息文档管理系统并不局限于办公室,具有广泛的应用范畴。从领导各个业务部门乃至单位的所有工作人员,几乎人人都可能成为使用企业信息文档管理系统的用户。随着社会的发展和信息技术的进步,全球信息化的直拨越来越明显,任何单位和企业不再是局限于某一个地区,都在自觉不自觉在参与到了全球化的竞争中。在这个全球化的竞争中,政府机关企事业单位对信息的掌握程序,信息获取是否及果,信息能否得到充分的利用、对信息的瓜刘否敏感准确,已越来越成为徇其竞争能力的最重要因素。综上所述,企业信息文档管理系统的前景是非常广阔的。
1.2 研究现状
从世界范围来看,推进政府部门对文档管理的网络化、自动化、电子化,全面信息共享已是大势所趋。21世纪的国家政府应该能够不断正确地调整自己,他是一个勇于革新、在革新中能不断矫正方向的政府,并且将变得越来越精简、灵敏、和反应迅速、决策有力。只有这样,才能适应高速变化、高速发展的21世纪信息时代。
1.3 本课题研究的意义
随着国家信息基础建设的深入,规划用网络构建企业信息文档管理系统以实现管理员对文档的管理,角色的管理,部门的管理和用户的管理,同时还包括对短信的管理,实现了对文档的上传,下载,浏览共享文档,删除文档,同时管理员还有权限对个人资料的修改。在此让管理员和用户都方便的实现了对文档的有效管理和其它相关信息的有效管理,为人们提供更广泛的、更便捷的信息及服务。
2相关理论基础
2.1 SQL sever 2000简介
Microsoft SQL Server 2000 数据库是一个多关系数据管理系统。它不仅是一个完整的数据库,而且具有强大的扩展性。它是Windows操作系统最为流行的数据库,比较适合小型、中型或大型应用程序的后台数据库。它也适用于电子商务,数据仓库和在线商业应用程序等。
系统从数据库的基础概念和应用领域中加强了对数据库的认识,目前使用的数据库一般都是关系数据库管理系统(RDBMS),它分别从关系、管理系统(MS)、数据库三个方面来定义。又从定义数据库的目标、数据库的逻辑设计、数据库的物理设计、数据库的物理实现、复查构建为数据库来构建数据库。
2.2 ASP.NET 2005 简介
Visual Studio 是一套完整的开发工具集,用于生成 ASP.NET Web 应用程序、XML Web Services、桌面应用程序和移动应用程序。Visual Basic、Visual C++、Visual C# 和 Visual J# 全都使用相同的集成开发环境 (IDE),利用此 IDE 可以共享工具且有助于创建混合语言解决方案。另外,这些语言利用了 .NET Framework 的功能,通过此框架可使用简化 ASP Web 应用程序和 XML Web Services 开发的关键技术。Visual Studio 2005与Visual Studio 2003相比,新增了许多的功能,如开发环境,代码编辑操作,项目、解决方案和项,生成、测试和部署操作,Visual Studio 2005调试器,Visual Studio 2005中扩展性和自动化等一系列新增功能。
3需求分析及系统设计
3.1需求分析
随着各个单位规模的不断扩大,单位内部对文档处理急剧增加。如果通过网络企业信息文档管理系统工作,就可以抛弃以入往传统的模式,发文件的一级一级传达的烦琐。普通用户只要上网就以查看上级发下来的文件和相互交流信息的目的,而通过短信管理并且又可以对单位内部进行信息的交流。因而根据公司对文档管理的需要,及公司内部通信的需要,系统中设计对文档的管理功能,用户管理功能,角色管理功能,部门管理功能以及短信管理功能。如图1所示:
3.2 业务分析
1. 文档管理:文档管理是系统的核心,同样对不同用户身分对文档的可操作权限不同。对管理员而言,对上传文档(上传的文档可以分为共享文档和不共享文档)、下载共享文档、删除共享文档和管理员自己上传的文档、浏览共享文档、修改用户上传的共享文档的相关信息。对普通用户而言,浏览共享文档、上传文档(上传的文档可以分为共享和非共享)、下载共享文档和删除自己上传的文档。
2. 用户的登录功能:用户登录功能也是系统设计的一个中心环节,用户分为两种身份,不同身份可操作的权限不同。一种管理员身份,一种普通用户身份。
3. 用户管理:对不同用户身份登录,对用户管理功能的操作权限不同。若为管理员身份,能对用户的进行添加、删除、修改管理员个人的密码、修改管理员自身及其它用户的相关信息的操作。若为普通用户登录,就只能对用户自已的密码及个人信息进行修改。
4. 角色管理:对角色进行添加,修改,删除等操作,并且同用户管理相关联。在对角色进行操作时,用户管理中用户的角色信息将进行相应的操作。
5. 部门管理:对部门进行添加,修改,删除等操作。由于公司或企业内部有多个部门,多个部门又分别有附属的上级部门,部门之间也会涉及到对文档的处理。
6. 短信管理:短信管理用于公司内部员工之间的通信,可以方便快捷的收到公司内部人员发过来的信息。短信管理是公司内部人员使用的,用户向站内人员发送短信和接收站内人员发送过来的短信。
3.3数据库的设计与实现
由于企业信息文档管理系统的实际需要和设计,本系统需要的数据至少包括文档数据以及角色数据、用户数据、部门数据和短信数据。
用户数据以及角色数据主要包括用户数据、角色数据、以及用户和角色关系数据,用户和文档之间的关系。文档数据主要包括文档的信息,如文档的标题,详细介绍,以及链接地址等。部门数据主要包括部门数据用所从属部门。
1. 企业员工表qyyg
表1 qyyg表
字段名
数据类型
ygbh
Int
ygname
Varchar
bmbh
int
mm
Varchar
Address
Varchar
Phone
Varchar
2.文档表wd
表3 wd表
字段名
数据类型
wdbh
int
wdbt
Varchar
Body
Text
wdsm
text
CreateDate
Datetime
UpdateDate
Datetime
LastViewDate
Datetime
LastViewer
Varchar
ViewCount
Varchar
Author
Int
wdxxsm
text
FromSource
Varchar
yhbh
Int
bmbh
int
wdlb
Varchar
nUrl
Varchar
3.部门表bm
表4 bm表
字段名
数据类型
bmtbh
Int
bmName
Varchar
3.4 企业信息文档管理系统ER图
图2表示用户与文档间的联系(“浏览”)是多对多的,即一个用户可以浏览多个文档,而每个文档也可以被多个用户浏览。
用户
上传
文档
详细说明
作者
更新日期
创建日期
文档说明
文档标题
文档bh
用户bh
用户名称
用户密码
用户地址
用户角色IDID
用户电话
电子邮件
浏览人数
来源
图2 用户和文档ER图
4 系统设计
4.1系统的整体设计与构思
本系统采用ASP.NET应用程序的系统架构模式:数据库——数据库访问层——业务逻辑层——页面表示层。
数据库是应用系统的基础,它保存系统中所有数据。数据访问层封闭对数据库的操作,如创建数据连接,打开数据库连接,执行存储过程和关闭数据连接。在本系统中,数据访问层由SQLHelper实现,这定义了一个类SQLHelper用来处理数据库的各种操作。业务逻辑层与应用系统的上层业务逻辑相关联,它调用数据访问层,同时也为上层页面表示层服务。业务逻辑层通过数据访问层实现对数据库的操作。如添加,修改和删除等,同时为应用系统的页面表示层服务提供访问数据库的接口或函数等。
页面表示层实现应用系统的具体页面,系统页面是利用Dreamweaver里面的框架设计的。页面一般由WEB页面或控件组成,如系统登录页面Default.aspx、用户管理页面UserManage.aspx等。
系统通用类SQLHelper,它是应用程序通过ADO.NET访问数据库的基础类,也是应用程序实现上层业务逻辑的基础。该类主要封装了创建访问数据库的一些对象或方法,如数据库连接对象等,以用执行数据库操作的对象或方法。如Command对象,还封装添加存储过程参数的方法。
系统采用系统日志通用类,该类主要实现写入系统事件的日志功能。特别注意是应用程序必须对日志文件具有写权限,否则会导致应用程序出错。
应用程序定义了几个工具通用类,它们在整个应用程序中将被应用很多次,因此先把它们集中在一起作为系统工具通用类。系统工具通用类由类SystemTools实现。该类定义函数ConvertDataReaderToDataTable(SqlDataReader dataReader),此函数实现将DataReader对象转化为DataTable对象的功能。
4.2 模块的设定及模块的功能
根据需求分析和性能分析,对系统各功能进行集中、分块,按照结构化程序设计的要求,为本系统实现了6个的功能,可以根据这些功能设计出系统中的功能模块。
1.文档管理模块设计
本系统中,文档管理模块中主要是实现对文档的上传,下载,删除,浏览共享文档和修改文档有些相关的信息等功能。而对于普通用户而言,主要实现对文档的上传,下载共享文档,删除个人发布的文档,浏览共享文档等功能。其设计如图3所示:
文档管理
删除文档
下载文档
上传文档
浏览共享文档
图3 文档管理模块图
修改文档相关信息
2.用户登录模块
用户分为管理员和普通用户两种身份,登录时的身份不同,可操作的权限就不同,这样比较符合公司或企业的人事管理。本系统设计了管理员登录和普通用户登录,其模块图分别如图4和图5所示。
文档管理
管理员登录
角色管理
部门管理
用户管理
短信管理
图4 管理员登录模块
图
普通用户登录
用户管理
文档管理
短信管理
图5 普通用户登录模块
3.用户管理模块设计
在本系统中,管理员能够添加用户,删除用户,修改用户密码和信息等操作,普通用户只能实现对个人有些信息的修改和个人密码的修改。分别如图6和图7所示。
管理员管理
添加用户
删除用户
修改用户密码
修改用户信息
图6 管理员登录模块
图
普通用户管理
修改用户密码
修改用户信息
图7 管理员登录模块
图
4.角色管理模块设计
本系统中,角色管理只针对管理员权限而言,主要实现对角色的添加,角色的修改和删除角色等功能。其关系图如图8所示:
角色管理
添加角色
修改角色
删除角色
图8 角色管理模块
5.部门管理模块设计
在本系统中,部门管理模块同角色管理模块一样,都只是针对管理员而言,只有管理员才有权限对部门进行添加、删除和修改。同时在添加部门时,还可以实现添加其附属的上级部门。其设计如图9所示:
部门管理
添加部门
删除部门
修改部门
图9 部门管理的流程图
6.短信管理模块设计
短信管理
浏览来自站内人发的短信
写短信(给站内人)
图10 短信管理模块设计
在本系统中,短信管理模块主要是针对本站内短信的浏览和写短信。短信只能发给存在于站内的用户,用户也只能浏览从站内发来的短信,其设计图如图10所示:
5 各功能模块的实现
5.1文档管理模块
文档管理页面DocumentManage.aspx,它的代码隐藏文件为DocumentManage.aspx.cs。它主要实现文档的上载,文档的下载,文档的浏览查看。针对不同的身份对文档的操作权限是不一样。若为管理员身份登录即可浏览、上载,下载,查看文档,修改文档的某些信息还可删除共享文档等一系列操作。而普通用户则只能上载、下载、浏览共享文档和修改自己上传的文档的有关信息。
5.1.1 文档上传
文档的上载也即是添加文档,是由页面AddDocument.aspx,它的代码隐藏文件为AddDocument.aspx.cs。它可由DocumentManage.aspx页面中的[添加]按钮跳转到添加文档页面。
上传文档是管理员和普通用户都能进行的操作的,当合法用户登录时,就可以实现文档的上传功能。Document表中,有一个字段IsShare,当用户在上传文档时,根据是否为共享文档来设定以字段的值。当上传成功后,把上传的信息写入Document表中,表中的DocumentID实现自动增1。同时文档上传还采用了一个函数,可产生随机数,使上传的文档不会因为名字重复而不能上传。实现上传文档名的惟一性。
事件首先调用UploadAttachment()上载指定的文档,然后事件调用类Document中的函数AddDocument(string sDesn,string sBody,int nUserID,string sAuthor, string sFromSource,string sUrl,string sRemark, int IsShare)来实现添加文档的相关信息到数据库中。其中上传文档的流程图如图11所示
用户登录
登录成功
上传文档
私人文档
是否共享
共享文档
图11 上传文档流程图
结束
开始
Y
N
Y
N
5.1.2 文档下载
文档下载,是由Request.QueryString["DocUrl"]接收BrowserDocument.aspx页面中的DocUrl传来的文件名,根据链接地址,获取文件的路径后,实现对相应文件的下载。
5.1.3 浏览共享文档
浏览共享文档,是当合法用户登录系统后,用户能够浏览到其它上传的共享文档。共享文档是根据用户上传是否设置了IsShare字段来确定的,当用户设置了此字段,就可以作为共享文档浏览。可以浏览共享文件的标题、最后浏览时间、最后浏览的人、浏览次数。ViewSharedDocument.aspx调用Page_Load(object sender, EventArgs e)初始化,该函数调用函数BindDocumentData()绑定文档列表。函数BindDocumentData()调用类Document中的函数GetSharedDocument()从数据库的文档表Document中获取数据。
5.1.4 删除文档
删除文档页面是在页面DocumentManage.aspx中进行的,也只有管理员有这个权限删除所有共享和非共享文档,普通用户只有删除自己上载的文档,当普通用户试图去删除共享文档时,系统就弹出会出错提示。删除文档是根据用户的选择的文档的ID号来确定文档哪个文档。当文档被删除后,此文档的所有信息将从数据库中移出,删除文档的功能是由Document类中的函数DeleteDocument(int nDocumentID)实现的。
5.1.5 修改文档相关信息
修改文档的相关信息页面是在页面DocumentManage.aspx中进行的,也只有管理员有这个权限修改所有的文档,对普通用户而言,只有修改自己上载的文档的权限。修改文档的相关信息也是根据用户选择的文档的ID号来确定要修改的文档。当管理员或普通用户选中一个数据项并单击页面上的[]按钮时,由Request.Params["DocumentID"]来获取选中文档的ID。 Document类中的函数UpdateDocument(int nDocumentID, string sDesn, string sBody, string sAuthor, string sFromSource, string sRemark, int isShare)来实现修改用户相关信息的功能。最后把修改的文档信息再绑定,从而实现修改的功能。
5.2 用户登录模块
用户登录是由页面Default.aspx实现,它的代码隐藏文件为Default.aspx.cs,该页面也是整个应用程序的起始页面,用户(包括管理员,普通用户)都是从该页面登录进入应用系统的。
1.界面设计
为了实现用户登录功能,应用程序在该页面添加了2个TextBox控件,1个ImageButton控件,2个验证控件,1个Lable控件,它们的名称分别为:UserName、Password、btnLogin、RFVUserName、RFVPassword和Message。UserName、Password分别用来输入用户名称和用户密码;控件ImageButton用来实现用户登录功能;RFVUserName、RFVPassword分别执行用户名称和用户密码的非空验证;控件Message显示用户登录操作的结果。页面Default.aspx的设计如图12所示:
图12 页面Default.aspx的设计页面
2.页面初始化
设置页面Default.aspx为应用程序的起始页面。出现如图13所示的初始界面:
图13 应用程序的起始页面Default.aspx
3.用户登录功能
用户登录功能是调用类User中的函数GetUserLogin(string sUserName, string sPassword)从数据库的User表中获得用户的UserID和RoleID值。利用UserID和RoleID一起来确定用户登录是否成功以及用户的身份。在输入用户名和密码后,先把密码加密成密文后,再根据用户名和密文去搜索数据库,如果搜索出搂的UserID值为空,则说明该用户为非法用户,否则添加用户的用户信息(如UserID)到全局变量Session中。最后再根据用户的RoleID值来确定用户登录时的身份,若RoleID=1,表示管理员身份,若RoleID=2表示普通员工身份,最后根据用户的身份分别跳转到应用系统操作主页面。事件LoginBtn_Click(object sender,EventArgs e)的程序代码如下:
protected void LoginBtn_Click(object sender,EventArgs e)
{ ///如果页面输入合法
if (Page.IsValid == true)
{
String userId = "";
///定义类并获取用户的登陆信息
OfficeAutomatization.User user = new OfficeAutomatization.User();
SqlDataReader recu = user.GetUserLogin(UserName.Text.Trim(),
OfficeAutomatization.User.Encrypt(Password.Text.Trim()));
///判断用户是否合法
if (recu.Read())
{
userId = recu["UserID"].ToString();
}
recu.Close();
///验证用户合法性,读取角色信息,并跳转到系统平台
if ((userId != null) && (userId != ""))
{
Session["UserID"] = userId;
if (user.IsAuthorityAdmin(userId) == 1)
{
Session["Role"] = "admin";
//如果用户身份为管理员,则跳转到AdminIndex.aspx页面
Response.Redirect("~/DesktopModules/AdminIndex.aspx");
}
else
{
Session["Role"] = "other";
//如果用户身份为其它用户,则跳转到OtherIndex.aspx页
Response.Redirect("~/DesktopModules/OtherIndex.aspx");
}
}
else
{
///显示错误信息
Message.Text = "你输入的用户名称或者密码有误,请重新输入!";
}
}
}
在登录时后调用函数GetUserLogin(string sUserName, string sPassword),此函数是实现从数据库中获取用户的登录信息,它调用数据库通用类SQLHelper的RunProc()获取输入参数dr的值,并返回dr对象。函数GetUserLogin(string sUserName, string sPassword)的程序代码如下:
Public SqlDataReader GetUserLogin (string sUserName, string sPassword)
{
///定义类SQLHelper
SQLHelper. SQLHelper sqlHelper = new SQLHelper.SQLHelper ();
///定义保存从数据库获取的结果的Data Reader
SqlDataReader dr = null;
///创建访问数据库的参数
SqlParameter [] paramList = {
sqlHelper.CreateInParam("@UserName",SqlDbType.VarChar,200, sUserName),
sqlHelper.CreateInParam ("@Password", SqlDbType.VarChar, 255, sPassword)
};
try
{
///执行存储过程
sqlHelper.RunProc ("Pr_GetUserLogin", paramList, out dr);
}
catch (Exception ex)
{
///抛出执行数据库异常
SystemError.CreateErrorLog (ex.Message);
throw new Exception (ex.Message, ex);
}
return (dr); ///返回从数据库获取的结果
}
5.3 用户管理模块
用户管理功能主要实现用户的删除、用户的添加、用户有些信息的修改、用户密码的修改等功能。它由页面UserManage.aspx实现,它的代码隐藏文件为UserManage.aspx.cs。
5.3.1 添加用户
在本系统中,新用户注册不是由用户自己实现,而是由系统管理员添加的,即相当于公司或企业中增加新员工的功能。用户注册由页面AddUser.aspx实现,它的代码隐藏文件为AddUser.aspx.cs。
1.页面初始化
页面AddUser.aspx调用函数Page_Load(object sender, EventArgs e)初始化,该函数调用函数BindRoleData()绑定角色的数据,并根据角色列表控件判断是否可以进行新用户注册。函数BindRoleData()从数据角色表Role中获取数据,并设置角色列表控件RoleList的Text属性值为RoleName、Value属性值为RoleID,最后绑定列表控件的数据。函数Page_Load(object sender, EventArgs e)和BindRoleData()的程序代码如下:
protected void Page_Load (object sender, EventArgs e)
{
if (! Page.IsPostBack)
{
if (Session [“Role”].Tostring ()==”other”)
{
Response. Write("<script>window.alert('普通用户不能登陆');</script>");
return;
}
///绑定控件的数据
BindRoleData ();
}
///设置按钮的可用性
AddBtn.Enabled = RoleList.Items.Count > 0? true: false;
}
private void BindRoleData ()
{
///获取数据源
OfficeAutomatization.Role role = new Role ();
SqlDataReader recr = role.GetRoles ();
///设定控件的数据源,Text域属性、value域属性
RoleList.DataSource = recr;
RoleList.DataTextField = "RoleName";
RoleList.DataValueField = "RoleID";
///绑定控件的数据
RoleList.DataBind ();
///关闭数据源和数据库的链接
recr.Close ();
}
应用程序运行后,查看页面AddUser.aspx,它的初始页面如图14,此时角色列表已经显示职位数据,当前选择的是职位是超级管理员。
图14 页面AddUser.aspx的初始页面
2.添加用户信息
图15 添加用户流程图
Y
用户登录
N
登录成功?
管理员?
Y
添加用户
Y
RoleID=1?
RoleID=2
其它普通用户
RoleID=1
添加角色为管理员
开始
N
N
结束
添加用户时,涉及到添加用户的角色功能,用户的角色是绑定角色Role表来实现的。在角色表中管理员的RoleID值设置为1,其它用户都随着管理员对角色的添加,RoleID值会自动增1。因而当管理员在添加用户选择一个角色时,首先判断选中的角色的ID值,如果为1,就将角色的RoleID设置为1代表添加的是管理员,若不为1,都把RoleID设置为2代表添加的是其它用户。其添加的流程图如图15所示:
它调用User类中的AddUser(string sUserName,string sRealName,string sPassword,string sAddress,string sPhone,string sEmail,int nRoleID)添加新用户注册信息到User表中,如果用户注册信息输入有误,如两次输入密码不一致,消息控件显示相应的提示信息。事件AddBtn_Click(object sender, EventArgs e)的程序代码如下:
protected void AddBtn_Click (object sender, EventArgs e)
{
///如果页面输入内容合法
if (Page.IsValid == true)
{
///定义类User
OfficeAutomatization.User user = new User ();
try
{
int RoleID = 0;
if (int.Parse(this.RoleList.SelectedValue)! = 1)
{
RoleID = 2;
}
else
{
RoleID = 1;
}
///添加新用户
user.AddUser (UserName.Text.Trim (), RealName.Text.Trim (),
OfficeAutomatization.User.Encrypt (Password.Text.Trim ()),
Address.Text.Trim (), Phone.Text.Trim (), Email.Text.Trim (), RoleID);
///显示操作结果信息
Response.Write("<script>window.alert('"+ ASPNET2System.OPERATIONADDSUCCESSMESSAGE + "') </script>");
}
catch (Exception ex)
{
///显示添加操作中的失败、错误信息
Response.Redirect("~/DesktopModules/ErrorPage.aspx?ErrorUrl="
+ ASPNET2System.RedirectErrorUrl(Request.RawUrl)+ "&ErrorMessage="
+ ex.Message.Replace ("\n", " "));
}
}
}
5.3.2 修改用户密码
用户修改密码功能由页面UserUpdatePwd.aspx实现,UserUpdatePwd.aspx.cs为它的代码隐藏文件。首先调用User类中的函数GetSingleUser(int nUserID)和Encrypt(string password)判断用户输入的旧密码是否正确,只有旧密码正确时,才能进行新密码的修改操作,否则中止该事件。其中密码修改功能是由类User类中的函数UpdateUserPwd(int nUserID, string sPassword)实现的。在此页面,普通用户只有修改个人密码的功能,一般的管理员也只能修改自己的密码,除非管理员有其它用户的旧密码信息时,他也可以修改其它用户的密码信息。
5.3.3 修改用户信息
修改用户信息功能由页面UpdateUser.aspx实现,UpdateUser.aspx.cs为它的隐藏代码文件。
1.页面初始化
页面UpdateUser.aspx调用函数Page_Load(object sender, EventArgs e)初始化,该函数调用函数BindRoleData()绑定角色的数据和函数BindUserData()绑定用户的数据,并根据角色列表控件和用户列表控件实现修改用户信息的功能。函数BindRoleData()从数据角色表Role中获取数据,并设置角色列表控件RoleList的Text属性值为RoleName、Value属性值为RoleID,最后绑定列表控件的数据。函数BindUserData()从数据用户表User中获取数据。
2.修改用户信息
调用User类中的函数UpdateUser(int nUserID,string sUserName,string sRealName,string sAddress,string sPhone,string sEmail,int nRoleID),当为管理员身份登录时,他可以修改用户的角色信息,当为普通用户登录时,此时角色列表控件不可用,用户只能修改其它相关信息。
5.3.4 删除用户
删除用户信息功能是包含在用户管理页面UserManage.aspx中,它的隐藏代码文件为UserManage.aspx.cs。删除用户是根据每人用户的性的ID号来确定删除哪个用户,调用User类中的函数DeleteUser(int nUserID)实现来删除功能的。
5.4角色管理模块
角色管理由页面RoleManage.aspx实现,它的代码隐藏文件为RoleManage.aspx.cs。角色管理主要实现管理员对系统中角色的添加、修改、删除等功能。在页面加载时,会调用BindRoleData()函数绑定角色的数据,并根据角色列表控件来绑定系统中已经存在的角色。函数BindRoleData()从数据角色表Role中获取数据,并设置角色
展开阅读全文