网站后台系统实验报告Word下载.docx

上传人:b****6 文档编号:21062133 上传时间:2023-01-27 格式:DOCX 页数:40 大小:271.28KB
下载 相关 举报
网站后台系统实验报告Word下载.docx_第1页
第1页 / 共40页
网站后台系统实验报告Word下载.docx_第2页
第2页 / 共40页
网站后台系统实验报告Word下载.docx_第3页
第3页 / 共40页
网站后台系统实验报告Word下载.docx_第4页
第4页 / 共40页
网站后台系统实验报告Word下载.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

网站后台系统实验报告Word下载.docx

《网站后台系统实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《网站后台系统实验报告Word下载.docx(40页珍藏版)》请在冰豆网上搜索。

网站后台系统实验报告Word下载.docx

开发的系统采用B/S结构,分为表示层,业务逻辑层和数据访问层。

其中用户表示层为客户端提供对应用程序的访问,业务逻辑层实现应用程序的业务功能,数据访问层为业务逻辑层或表示层提供数据服务。

2.需求分析

(1).系统管理员能对系统中所有的模块进行管理,包括查看模块信息,修改模块信息,删除不需要的模块。

(2).系统管理员能查看系统日志,包括登录日志和操作日志。

(3)系统管理员能进行权限管理,用户需要身份验证才能进入系统,用户进入系统后每一个操作都进行权限判断,禁止任何越权操作,有效地保护系统数据的安全性。

可以动态的对用户进行实时的权限修改。

(4).登录用户能随时更改自己的密码。

3.总体设计

(1)UML关系图

进入子模块时进行权限判断,若登录用户不具备该模块的最低操作权限,提示越权信息,禁止进入。

用户进入子模块时只能用对其开放的功能,发现越权行为时给出警告。

(2)功能设计

1.登录日志

记录所有用户的登录信息,包括帐号,时间,主机IP,登录是否成功,还可以让系统管理员删除过期日志信息。

2.操作日志

提供对用户重要操作行为的记录,系统管理员可通过其查看用户对数据库的关键操作,及时发现用户的非法操作,保证系统数据的安全。

还可以让系统管理员删除过期操作信息。

3.密码修改

提供登录用户修改自己密码的功能。

4.权限管理

包括模块管理,角色管理和用户管理。

模块管理:

提供对模块的添加,修改和删除,建立和角色的关系信息,定义基本权限,对每个模块的操作权限分5个级别:

浏览,查询,添加,修改和删除。

角色管理:

提供对角色的添加,修改和删除,建立和模块的关系信息,建立和用户的关系信息。

用户管理:

提供对用户基本信息的修改和删除功能,添加用户由系统管理员提供,建立和角色的关系信息。

(3)数据库设计与实现

1.登录日志信息表:

存放用户登录相关信息。

2.操作日志信息表:

存放用户关键操作的相关信息。

3.院系基本信息表:

存放院系的基本信息。

4.人员基本信息表:

存放用户的登录名,密码及用户的基本信息。

5.模块基本信息表:

存放模块的名称,描述等。

6.角色基本信息表:

存放角色的名称,描述等。

7.用户角色关系表:

存放用户和角色对应关系的信息。

8.模块角色关系表:

存放模块和角色的对应关系的信息。

四.详细设计

(1).数据库的逻辑设计

(2).数据库物理设计

1.登录日志信息表

2.操作日志信息表

3.院系基本信息表

4.人员基本信息表

5.模块基本信息表

6.角色基本信息表

7.用户角色关系表

8.模块角色关系表

注:

用整数表示权限,数字越大,权限越大,0浏览1查询2添加3修改4删除.

(3)系统主要流程图

五.具体实现

1.登录日志页面UserLog.aspx

这个页面主要部分运用了一个DataGridWeb服务控件,用于显示所有登录信息,一个CheckBoxWeb服务控件,用于选择当前页面的所有记录,一个ImageButton图像按钮Web服务控件,用于删除登录日志操作。

后台代码主要完成DataGrid控件数据的绑定,选取页面所有记录操作,以及删除选定的记录。

页面权限管理由基类直接提供,页面载入时,提供给基类页面模块名称,基类根据模块名称返回权限代码,页面根据权限代码控制用户的所有操作,如果用户对此模块不具备最低操作权限,则禁止用户进入页面,转到登录页面。

当用户进入模块后,用户的所有操作都要经过权限判断,不具备操作权限时则给出提示信息,禁止用户使用。

页面如下:

主要代码如下:

页面载入时,首先调用基类页面初始化函数,设置模块名称,并要求身份验证。

privatevoidPage_Load(objectsender,System.EventArgse)

{

this.PageBegin("

登录日志"

true);

if(Page.IsPostBack==false)

{

DataGridLogininfoband();

}

}

事件处理,包括页面载入,按钮点击事件,选择时间等。

privatevoidInitializeComponent()

{

this.Load+=newSystem.EventHandler(this.Page_Load);

this.DataGridLogininfo.PageIndexChanged+=newSystem.Web.UI.WebControls.DataGridPageChangedEventHandler(this.DataGridLogininfo_PageIndexChanged);

this.DataGridLogininfo.ItemDataBound+=newSystem.Web.UI.WebControls.DataGridItemEventHandler(this.DataGridLogininfo_ItemDataBound);

this.ImgBdel.Click+=newSystem.Web.UI.ImageClickEventHandler(this.ImgBdel_Click);

this.CheckBox2.CheckedChanged+=newSystem.EventHandler(this.CheckBox2_CheckedChanged);

数据绑定,并在DataGrid增加一序列号。

publicvoidMyBindData()

DbManagerLogininfomyclass=newDbManagerLogininfo();

DataTablemytable=myclass.Getalllogininfo();

DataColumnmycolumn=mytable.Columns.Add("

number"

System.Type.GetType("

System.String"

));

for(inti=0;

i<

mytable.Rows.Count;

i++)

mytable.Rows[i]["

]=(i+1).ToString();

DataGridLogininfo.DataSource=mytable;

DataGridLogininfo.DataBind();

实现删除登录日志功能

publicvoidDelLoginLog(stringstrLoginID)

DbManagerLogininfomyclass=newDbManagerLogininfo();

myclass.dellogininfo(strLoginID);

删除按钮单击事件,首先根据权限代码EmpRightCode进行权限判断,在本系统中权限共分为5级:

浏览,查询,添加,修改和删除,删除权限对应权限代码为4,为最高权限。

如果用户不具备删除权限,给出提示信息,不执行删除操作。

privatevoidImgBdel_Click(objectsender,System.Web.UI.ImageClickEventArgse)

if(this.EmpRightCode==4)

{

foreach(DataGridItemthisIteminDataGridLogininfo.Items)

{

if(((CheckBox)thisItem.Cells[0].Controls[1]).Checked)

{

stringstrLoginID=DataGridLogininfo.DataKeys[thisItem.ItemIndex].ToString();

DelLoginLog(strLoginID);

}

}

this.WriteOptLog("

删除登录日志信息"

);

JScript.Alert("

删除成功!

"

if(DataGridLogininfo.CurrentPageIndex==DataGridLogininfo.PageCount-1)

DataGridLogininfo.CurrentPageIndex=DataGridLogininfo.CurrentPageIndex-1;

MyBindData();

else

您没有权限进行此操作!

DataGrid控件页码改变事件处理方法

privatevoidDataGridLogininfo_PageIndexChanged(objectsource,System.Web.UI.WebControls.DataGridPageChangedEventArgse)

{DataGridLogininfo.CurrentPageIndex=e.NewPageIndex;

MyBindData();

}

CheckBox选择改变事件,使得选中此选择控件,DataGrid控件中的每一行中的选择控件均被选中。

privatevoidCheckBox2_CheckedChanged(objectsender,System.EventArgse)

foreach(DataGridItemthisIteminDataGridLogininfo.Items)

((CheckBox)thisItem.Cells[0].Controls[1]).Checked=CheckBox2.Checked;

数据访问层由DbManagerLogininfo.cs类文件实现,包括读取所有登录日志和删除登录日志。

publicclassDbManagerLogininfo

{

stringSTRCON=ConfigurationSettings.AppSettings["

ConnectionString"

];

SqlCommandmycm;

DataSetmyds;

SqlDataAdaptermyda;

publicDbManagerLogininfo()

mycm=newSqlCommand();

mycm.Connection=newSqlConnection(STRCON);

mycm.CommandType=CommandType.StoredProcedure;

mycm.Connection.Open();

myds=newDataSet();

myda=newSqlDataAdapter();

myda.SelectCommand=mycm;

publicDataTableGetalllogininfo()

mycm.CommandText="

GetLogInfo"

;

myda.Fill(myds,"

returnmyds.Tables["

publicvoiddellogininfo(stringLoginID)

delete_LogInfo"

mycm.Parameters.Add(newSqlParameter("

@LoginID_1"

SqlDbType.VarChar,50));

mycm.Parameters[0].Value=LoginID;

intj=mycm.ExecuteNonQuery();

2.操作日志页面

此页面和登录页面所用的控件相同,后台代码主要完成DataGrid控件数据的绑定,选取页面所有记录操作,以及删除选定的记录。

后台代码和登录日志的也很相似,这里就不列出具体的代码。

点击删除按钮后,显示页面:

如果没有权限的话则弹出一下对话框:

数据访问层主要完成操作日志的读取和删除操作,其他涉及到的功能和登录日志模块基本相同。

从数据库中读取所有操作日志信息:

publicDataTableReadOperationLog()

SqlConnectionmyConnection=newSqlConnection(ConfigurationSettings.AppSettings["

]);

SqlCommandmyCommand=newSqlCommand("

sysReadOptLog"

myConnection);

myCommand.CommandType=CommandType.StoredProcedure;

DataSetmyds=newDataSet();

SqlDataAdaptermyda=newSqlDataAdapter();

myda.SelectCommand=myCommand;

myConnection.Open();

myConnection.Close();

returnmyds.Tables["

根据日志ID号删除相应日志信息。

SqlCommandmyCommand=newSqlCommand("

myCommand.CommandType=CommandType.StoredProcedure;

myConnection.Open();

2.模块管理页面

模块管理分两个页面Moduleadmin.aspx和FuncRightSet.aspx,前者是主页面,提供模块的删除和添加功能,后者提供模块的编辑功能,可以修改模块的基本信息和修改此模块和角色的关联权限信息。

Moduleadmin.aspx页面包括两部分:

模块列表和模块添加。

模块列表是用DataList控件实现的,包括两个图像按钮,代表编辑和删除功能,模块名称用DataBinder.Eval进行绑定。

模块添加是由两个文本Web控件和一个LinkbuttonWeb控件实现。

其后台代码主要完成页面载入时的数据绑定和各个按钮事件的实现,每个操作均要根据权限代码进行权限判断。

页面载入和事件处理代码和登录日志及操作日志类似,这里不列出。

点击编辑按钮后,跳转到如下页面:

本页面的主要代码及功能如下:

从数据库中取得所有的模块信息数据,并显示在页面上。

privatevoidBindData()

AdminDBadmin=newAdminDB();

FuncList.DataSource=admin.GetAllFuncs();

FuncList.DataBind();

FuncList控件中的ItemCommand事件函数,用来完成个记录中的按钮事件。

privatevoidFuncList_ItemCommand(objectsender,DataListCommandEventArgse)

intFuncID=(int)FuncList.DataKeys[e.Item.ItemIndex];

if(e.CommandName=="

edit"

if(this.EmpRightCode>

=3)

Response.Redirect("

FuncRightSet.aspx?

funcid="

+FuncID,false);

else

JScript.Alert("

}

elseif(e.CommandName=="

delete"

if(this.EmpRightCode==4)

if(admin.DeleteFuncRoleUser(FuncID,"

func"

))

this.WriteOptLog("

删除模块信息"

JScript.Alert("

BindData();

else

删除失败!

添加模块信息按钮单击事件处理方法:

privatevoidAddFuncBtn_Click(objectsender,System.EventArgse)

if(this.EmpRightCode>

=2)

if(FuncName.Text.ToString()!

="

boolresult=(newAdminDB()).InsertFuncInfo(FuncName.Text.ToString(),FuncDescription.Text.ToString());

if(result==false)

添加失败!

添加模块角色关系信息"

添加成功!

BindData();

FuncName.Text="

FuncDescription.Text="

给删除按钮添加删除确认对话框:

privatevoidOnAttachScript(objectsender,System.Web.UI.WebControls.DataListItemEventArgse)

if(e.Item.ItemType==ListItemType.Item||

e.Item.ItemType==ListItemType.AlternatingItem)

ImageButtonbutton=(ImageButton)e.Item.FindControl(

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1