怎么实现验证字符串通过以后,自动完成用户登录的功能?
我现在的用户信息和验证是两个表。
登陆功能是登陆成功以后把user对象放到session里,然后用到的页面就判断session里有没有user,邮箱验证这一块要怎么做啊?邮箱验证

解决方案 »

  1.   

    思路:
    最简单的
    注册之后,给注册用户发送一个激活的链接(这里发邮件你要会吧。:)),此链接中包含用户id,当然是要加密的。比如
    http://www.example.com/active?id=加密的id。
    active是请求到你后台的action/Servlet。获取到加密的id,解密之后判断数据库中有没有这个id,有就验证成功,否则失败。
    要高级一点,再考虑激活链接失效时间。激活日期等等。
      

  2.   


    谢谢,我想复杂了,用了md5,没法解密,所以只能继续加字段,加的多了,感觉跟用户都没关系了,所以就又单独建了一张表直接把用户名和有效期同时加密上,只要解不出来,就提示他失效,解出来用户名了,就再查询一遍用户表,把用户信息取出来,放到session里。
      

  3.   


    在用户那个表里加个字段,verified,验证过了,就设置成true。在你active方法里第一步先去判断这个用户的verified字段,是true。下面的代码就不用执行了。否则就执行下面的代码。不管他点多少次,实际的active逻辑只执行了一次。
      

  4.   


    在用户那个表里加个字段,verified,验证过了,就设置成true。在你active方法里第一步先去判断这个用户的verified字段,是true。下面的代码就不用执行了。否则就执行下面的代码。不管他点多少次,实际的active逻辑只执行了一次。
    以后想再增加重置密码的功能呢,也想让它只生效一次,还要再在用户表里加一个新字段吗?
      

  5.   


    在用户那个表里加个字段,verified,验证过了,就设置成true。在你active方法里第一步先去判断这个用户的verified字段,是true。下面的代码就不用执行了。否则就执行下面的代码。不管他点多少次,实际的active逻辑只执行了一次。
    以后想再增加重置密码的功能呢,也想让它只生效一次,还要再在用户表里加一个新字段吗?这个设计上的问题看你自己怎么认为合适了。正常情况,修改密码应该是经常修改比较好的。干嘛只能修改一次呢?
      

  6.   


    在用户那个表里加个字段,verified,验证过了,就设置成true。在你active方法里第一步先去判断这个用户的verified字段,是true。下面的代码就不用执行了。否则就执行下面的代码。不管他点多少次,实际的active逻辑只执行了一次。
    以后想再增加重置密码的功能呢,也想让它只生效一次,还要再在用户表里加一个新字段吗?这个设计上的问题看你自己怎么认为合适了。正常情况,修改密码应该是经常修改比较好的。干嘛只能修改一次呢?我的意思是一个验证链接只生效一次,这个没事,我把修改密码的链接有效期设置短点就行了。
      

  7.   


    在用户那个表里加个字段,verified,验证过了,就设置成true。在你active方法里第一步先去判断这个用户的verified字段,是true。下面的代码就不用执行了。否则就执行下面的代码。不管他点多少次,实际的active逻辑只执行了一次。
    以后想再增加重置密码的功能呢,也想让它只生效一次,还要再在用户表里加一个新字段吗?这个设计上的问题看你自己怎么认为合适了。正常情况,修改密码应该是经常修改比较好的。干嘛只能修改一次呢?我的意思是一个验证链接只生效一次,这个没事,我把修改密码的链接有效期设置短点就行了。
    好吧,那就加字段吧。其实也就激活账号,修改密码才会用到这样的东西,多2个字段没什么影响的。