另外即使只是做做试验也是不错的尝试。
本文并没有对各种登陆算法进行对比探讨。而是仅仅给出了一个比较安全、高效也经历了实际的考验的算法供大家参考。
本文中给出一个实例的节选,希望能给各位启示。
该算法的特点为:
1、安全、仅仅使用用户名(考生号)来访问数据库,这样需要控制的项就比较少了.即使进行安全检查系统压力也小。
2、高效、一般情况下用户操作仅需一次数据访问,所需的数据就全部返回了。而且单键访问数据执行效率也高。
3、比较完整的简单的分层设计,可以供入门程序员参考(作为教学人员,我的注释写的很详细,具有一定的可读性)
一、建立数据模型:数据集如下图:存放在app_code目录中,命名为kaoshengs.xsd
1、考生表的结构。依次为考生号、考生姓名、录取结果、密码(口令,默认是空值。)、查分密码(该系统中每个考生有自己的随机查分密码覆膜印在准考证上,第一次需要使用该密码来登录系统并修改密码)、报名点代码、县区代码、地市代码(后边3个代码是为了管理使用)。
2、适配器。增加了几个访问数据的方法,有名称和参数可以很容易的看出,不再解释了。
二、对该考生对象的操作的类库。存放在app_code目录中,命名为kaosheng.cs
需要注意的是,该系统在登陆时需要的操作比较多
1、有用户名和密码能够登录
2、有录取结果,显示录取结果,并不再允许继续操作
3、密码为空,则为第一次登录允许使用查分密码来修改口令
4、修改已有的口令
1
using System;
2
using System.Data;
3
using System.Configuration;
4
using System.Web;
5
using System.Web.Security;
6
using System.Web.UI;
7
using System.Web.UI.WebControls;
8
using System.Web.UI.WebControls.WebParts;
9
using System.Web.UI.HtmlControls;
10
using System.Collections;
11
12
三、登录页面。页面如下,其中考生号有ajax效果控制不能输入除数字以外的信息2
3
4
5
6
7
8
9
10
11
12
下边的该页的后台代码,为节省篇幅,仅给出进入系统按纽的代码如下:
需要注意的是因为引入了ajax所以输出提示信息的方式和以前不一样了.
1
protected void btlogin_Click(object sender, EventArgs e)
2
}
2
登录程序到这里就完成了.