我要在用户登录时将登录次数限制到3次,如果达到3次还未正确登录,则该用户将在一段时间内不能登录,我想请问各位高手,有没有更好的方法可以实现此程序,是在struts2的基础上实现...

解决方案 »

  1.   

    基于啥都没关系啊。很多方法。错误了就往cookie里面写次数嘛。这是偷懒的做法,正确了就清除。
    如果是要求严格一点就在数据库加字段撒。错误一次+1   加上记录时间。 正确了次数清0嘛
      

  2.   

      cookie可以人为清除,行不通;数据库可行。
      

  3.   

    不用吧, 我个人觉得可以直接就写在SESSION中,如果登录验证失败就累加一次并写入SESSION,达到一定次数就将该SESSION参数值置为最后一次登录的时间,再次登录时就验证登录时间与SESSION中的时间间隔是否达到规定时限,没有就拒绝,反之就通过
      

  4.   

    放在session中都可以啊,我无语了!!!
    你不允许我换个地方登陆啊
    !!!
      

  5.   

    这个我倒是没有考虑到,那你放在Application中,这应该是可以的吧, 记得登录成功后将Application中的该变量,这应该比读数据库效率较好些吧
      

  6.   

    如果要求不严格,可以考虑用session
      

  7.   

    用户登录时将登录次数限制到3次,如果达到3次还未正确登录,则该用户将在30分钟内不能登录。要建一个表存用户登录的时间,表名称为loginlog,表字段有username 用户名,logintime登录时间,status是否登录成功 Y或N。登录时,先读loginlog表,取用户的最后3条登录记录,当3条记录都满足以下2个条件,则提示用户连续登录3次失败,30分钟内不能登录。
    1、登录的时间和当前时间差距在30分钟内;
    2、status标识为N,即登录失败。
      

  8.   

    多谢各位的指点,我本人也认为这个效果用数据库操作会比较安全,严格一点,只是会影响性能而已,如果用session保存,只要关闭浏览器或其他原因,session失效后就不会达到这个效果,用cookie保存也可以实现,只是cookie文件只能针对本机实现此效果,而更换电脑后依然可以操作,而且找要找到cookie文件,删除后仍然可以操作