admin管理员组文章数量:1635403
看了主流网站注册都会通过去邮箱点击链接激活实现注册登录等功能,闲暇根据自己理解想写一个简单实现,纯属瞎玩,不足之处,还请广大读者严厉批评指正。
逻辑:1,输入信息点击注册时,会往用户邮箱发送验证链接,区别与大众化的验证码
2,接受邮件,点击激活链接,再次调用帐号激活接口,并修改激活状态
3,登录时,判断激活状态
步骤:1,简单的ajax调用接口测试(替代注册表单)
//用户注册接口
function registTest() {
$.post('???/regist2', {
'email': 'xxxxxxx@qq',
'password1': '123456',
'password2': '123456'
}, function(rescnt) {
console.log(rescnt);
})
}
2,接口实现
/**系统用户注册接口-方式2
* @return
*/
@RequestMapping(value="/regist2",method=RequestMethod.POST)
@ResponseBody
public Object regist2(){
logBefore(logger, "XXX官网用户注册接口");
Map<String,Object> map = new HashMap<String,Object>();
PageData pd = new PageData();
pd = this.getPageData();
String code = "100";
String msg_cn = "系统错误";
try{
if(Chain8Util.checkParam("regist2", pd)){//第一步:判断请求参数是否完整(调封装的工具类方法-大致逻辑:定常量数组,对应属性长度,用标识来定位)
PageData pd2 = register8Service.findByEmail(pd);
if(pd2!=null) {//第二步:判断邮箱是否已注册
if(pd2.getString("status").equals("1")) {
code = "101";
msg_cn = "该邮箱已注册并激活";
}else if(pd2.getString("status").equals("0")){//注册但未激活,重新发送
String token = this.get32UUID();//获取32位uuid作为激活token
if(Register8EmailUtil.sendJihuo(pd.getString("email"),token )){//第五步:发送激活邮件(调用邮件工具类)
//###### 邮件成功发送后,将对应信息存入数据库 ######
pd.put("password", pd.getString("password1"));
pd.put("status", "0");
pd.put("token", token);
register8Service.edit(pd);//修改数据库数据,重新赋值
code = "300";
msg_cn = &
版权声明:本文标题:javaweb项目使用邮箱注册验证实现,方式一:发送激活链接 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1729200765a1189574.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论