今天看了一下公司做的网站,看到有关邮件激活的程序,就做下笔记。
用户注册后,就向用户注册的邮箱发送一个用户激活的URL,这个URL其实最主要就是包含新注册的那个用户的ID就可以了,当用户点击这个URL里到controler去验证时就可以从数据库里找这个用户是否存在,或设置了用户激活的cache,就可以从cache里查出有没有该用户的注册过,有没有激活过。cache最简单可以用hashMap来做:
/** 保存用户邮箱验证是否成功 1 成功 0未成功 -1 失败**/
static public Map<Long,Short> USER_EMAIL_VALISATE = new HashMap<Long,Short>();
当用户注册时就将它加入到用户ID和验证状态(1,0,-1)放入到USER_EMAIL_VALISATE 中,后面做验证就可以直接使用,激活后就同步到数据库去。用户登陆重新激活等到都可以从
cache里查出来,只要在改变状态后记得同步到数据库就可以了。