2007级计算机科学与技术专业毕业论文(设计)
系统维护 用户管理 公司信息 部门信息 图3.8系统维护模块功能结构图
系统维护包括用户管理、公司信息及部门信息3个功能,其中用户管理用于设置操作系统的用户,公司信息用于设置物业公司自身的信息,部门信息用于设置物业公司下属的各个部门。
19
张三:基于B/S的物业网络管理系统的设计与实现
4.系统详细结构设计
4.1登陆模块设计
该模块是用户使用系统必须经过的一个模块,因此,该模块的设计上要求美观大方,并且在功能上该模块是防止非授权用户使用系统,保证数据安全的第一道屏障,因此,需要较高的安全性,功能上尽量实现完善。
4.1.1功能界面
登陆界面如图4.1所示。
图4.1登录界面图
4.1.2登录模块功能描述
登陆模块通过对用户输入的用户名和密码,判断用户的登录身份,做出是否允许登录或者拒绝登录的判断,并且可以根据用户输入的验证码,阻止恶意登录。若用户登录成功则跳转到主页,否则显示错误信息。
20
2007级计算机科学与技术专业毕业论文(设计)
4.1.3登录模块业务流程及关键代码
(1)初始化时,调用checkCode.aspx,生成图片验证码。checkCode.aspx页面主要代码如下:
该段代码为用绘图方法生成对应的图片,并且在登陆页面显示。 private void CreateImage(string checkCode) {
int iwidth = (int)(checkCode.Length * 11.5);
System.Drawing.Bitmap image = new System.Drawing.Bitmap(iwidth, 20); Graphics g = Graphics.FromImage(image);
Font
f
=
new
System.Drawing.Font(\
10,
System.Drawing.FontStyle.Bold);
Brush b = new System.Drawing.SolidBrush(Color.DarkBlue); g.Clear(Color.White);
g.DrawString(checkCode, f, b, 3, 3);
System.IO.MemoryStream ms = new System.IO.MemoryStream(); image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); Response.ClearContent();
Response.ContentType = \ Response.BinaryWrite(ms.ToArray()); g.Dispose(); image.Dispose();
}
该段代码为生成4位的随机验证码,并调用上面的方法生成图片。 private string CreateRandomCode(int codeCount) {
string
allChar
=
\ string[] allCharArray = allChar.Split(','); string randomCode = \ int temp = -1;
Random rand = new Random(); for (int i = 0; i < codeCount; i++) {
if (temp != -1)
21
张三:基于B/S的物业网络管理系统的设计与实现
rand = new Random(i * temp * ((int)DateTime.Now.Ticks)); int t = rand.Next(35); if (temp == t)
return CreateRandomCode(codeCount); temp = t;
randomCode += allCharArray[t]; }
return randomCode; }
(2)用户输入密码,用户名,验证码,单击登录按钮,触发登录事件,登录事件首先验证用户名,密码记验证码是不是为空,若为空,则进行提示,关键代码如下: //进行验证 用户名 密码 验证码不能为空
if (txtUserName.Text == \ {
MessageBox.Show(UpdatePanel1, \请输入用户名!\ }
if (txtPwd.Text == \ {
MessageBox.Show(UpdatePanel1, \请输入密码!\ }
if (txtCheckCode.Text == \ {
MessageBox.Show(UpdatePanel1, \请输入验证码!\ }
(3)调用BLL层的Pub_UserBLL类,以及DALC层的Pub_UserDAL类和Model层的实体类Pub_UserInfo对用户输入的用户信息进行验证,主要代码如下: GridView gv = new GridView();
gv.DataSource = Pub_userBLL.GetPub_user(); gv.DataBind();
for (int i = 0; i < gv.Rows.Count; i++) {
if (gv.Rows[i].Cells[3].Text.ToString() != null) { if txtUserName.Text)
22
(gv.Rows[i].Cells[3].Text.ToString() ==
相关推荐: