一种安全、高效、简单的登陆算法
出处:http://dotnet..net/page/c2a65658-1671-4e07-8c46-1f099887876e#
来源:博客园
现在微软的vs2005中自带的membership已经能够很好的满足大多数场景下的用户管理的需求。但是某些特殊情况下我们还须要订制的用户登录系统,比方说为了效率、安全等。
另外即使只是做做试验也是不错的尝试。
本文并没有对各种登陆算法进行对比探讨。而是仅仅给出了一个比较安全、高效也经历了实际的考验的算法供大家参考。
本文中给出一个实例的节选,希望能给各位启示。
该算法的特点为:
1、安全、仅仅使用用户名(考生号)来访问数据库,这样需要控制的项就比较少了.即使进行安全检查系统压力也小。
2、高效、一般情况下用户操作仅需一次数据访问,所需的数据就全部返回了。而且单键访问数据执行效率也高。
3、比较完整的简单的分层设计,可以供入门程序员参考(作为教学人员,我的注释写的很详细,具有一定的可读性)
一、建立数据模型:数据集如下图:存放在app_code目录中,命名为kaoshengs.xsd
1、考生表的结构。依次为考生号、考生姓名、录取结果、密码(口令,默认是空值。)、查分密码(该系统中每个考生有自己的随机查分密码覆膜印在准考证上,第一次需要使用该密码来登录系统并修改密码)、报名点代码、县区代码、地市代码(后边3个代码是为了管理使用)。
2、适配器。增加了几个访问数据的方法,有名称和参数可以很容易的看出,
来源:博客园
现在微软的vs2005中自带的membership已经能够很好的满足大多数场景下的用户管理的需求。但是某些特殊情况下我们还须要订制的用户登录系统,比方说为了效率、安全等。
另外即使只是做做试验也是不错的尝试。
本文并没有对各种登陆算法进行对比探讨。而是仅仅给出了一个比较安全、高效也经历了实际的考验的算法供大家参考。
本文中给出一个实例的节选,希望能给各位启示。
该算法的特点为:
1、安全、仅仅使用用户名(考生号)来访问数据库,这样需要控制的项就比较少了.即使进行安全检查系统压力也小。
2、高效、一般情况下用户操作仅需一次数据访问,所需的数据就全部返回了。而且单键访问数据执行效率也高。
3、比较完整的简单的分层设计,可以供入门程序员参考(作为教学人员,我的注释写的很详细,具有一定的可读性)
一、建立数据模型:数据集如下图:存放在app_code目录中,命名为kaoshengs.xsd
1、考生表的结构。依次为考生号、考生姓名、录取结果、密码(口令,默认是空值。)、查分密码(该系统中每个考生有自己的随机查分密码覆膜印在准考证上,第一次需要使用该密码来登录系统并修改密码)、报名点代码、县区代码、地市代码(后边3个代码是为了管理使用)。
2、适配器。增加了几个访问数据的方法,有名称和参数可以很容易的看出,