SSH邮箱验证与激活
下面是我写的email验证和激活:
自己瞎写的,能用,不喜欢勿喷
action中regist方法中代码
- /**
- *
- * 发送邮件的方法
- */
- StringBuffer sb=new StringBuffer("点击下面链接激活账号,48小时生效,否则重新注册账号,链接只能使用一次,请尽快激活!<br>");
- sb.append("http://localhost:**********action?email=");
- sb.append(user.getEmail());
- sb.append("&code=");
- sb.append(user.getCode());
- sb.append("");
- //发送邮件
- SendEmail.send(user.getEmail(), sb.toString());
action中处理激活的方法
- /**
- * 处理激活
- */
- public String active() throws ServiceException, ParseException {
- //获得原生态rquest
- HttpServletRequest request = (HttpServletRequest) ActionContext
- .getContext()
- .get(org.apache.struts2.StrutsStatics.HTTP_REQUEST);
- service.processActivate(request.getParameter("email"), request.getParameter("code"));
- this.addActionMessage("激活成功,请点击去登录");
- return "succ";
- }
service层处理激活的方法(我的代码激活清空了激活码,你也可以选择不清空激活码)
- /**
- * 处理激活
- * @throws ParseException
- */
- ///传递激活码和email过来
- public void processActivate(String email , String code)throws ServiceException, ParseException{
- //数据访问层,通过email获取用户信息
- List<User> list=dao.findByEmail(email);
- User users=list.get(0);
- //验证用户是否存在
- if(users!=null) {
- //验证用户激活状态
- if(users.getState()==0) {
- ///没激活
- Date currentTime = new Date();//获取当前时间
- //验证链接是否过期
- currentTime.before(users.getRegisterTime());
- if(currentTime.before(users.getLastActivateTime())) {
- //验证激活码是否正确
- if(code.equals(users.getCode())) {
- //激活成功, //并更新用户的激活状态,为已激活
- users.setState(1);//把状态改为激活
- users.setCode("");//把激活码清空
- dao.update(users);
- } else {
- throw new ServiceException("激活码不正确");
- }
- } else { throw new ServiceException("激活码已过期!");
- }
- } else {
- throw new ServiceException("邮箱已激活,请登录!");
- }
- } else {
- throw new ServiceException("该邮箱未注册(邮箱地址不存在)!");
- }
- }
Service层中的涉及到的update方法,下面的代码写在dao层,service层中还有一个findByEmail()方法我就不贴出来了
- @Override
- public void update(User user)
- {
- Session session = sessionFactory.getCurrentSession();
- session.update(user);
- }
SSH邮箱验证与激活的更多相关文章
- (进阶篇)PHP实现用户注册后邮箱验证,激活帐号
我们在很多网站注册会员时,注册完成后,系统会自动向用户的邮箱发送一封邮件,这封邮件的内容就是一个URL链接,用户需要点击打开这个链接才能激活之前在该网站注册的帐号.激活成功后才能正常使用会员功能. 本 ...
- (进阶篇)PHP(thinkphp5框架)实现用户注册后邮箱验证,激活帐号
本文将结合实例,讲解如何使用thinkphp5+Mysql完成注册帐号.发送激活邮件.验证激活帐号.处理URL链接过期的功能. 业务流程 1.用户提交注册信息. 2.写入数据库,此时帐号状态未激活. ...
- PHP用户注册邮箱验证激活帐号
我们在很多网站注册会员时,注册完成后,系统会自动向用户的邮箱发送一封邮件,这封邮件的内容就是一个URL链接,用户需要点击打开这个链接才能激活之前在该网站注册的帐号.激活成功后才能正常使用会员功能. 本 ...
- .net 实现注册邮箱验证激活
没事上网当了个注册邮箱验证激活的代码,用起来感觉还不错,特意和大家要一起分享一下 下面是主要实现代码: uing System.Net.Mail; public partial class jquer ...
- [转]C# 邮箱验证激活
原文链接 /// <summary> /// 发送邮件 发送激活码 /// </summary> /// <param name="address"& ...
- 使用邮箱验证登录后台ssh,再也不怕被人攻击服务器了!
目录 前言 安装教程 前言 之前写过使用用户名密码,以及扫描二维码方式验证后台登录ssh的文章:[点击跳转]. 但是这样还是不太保险,也存在被人利用的情况,因为别人破解你的后台你压根不知道.因此想到使 ...
- javamail实现邮箱验证功能
javamail是基于SMTP协议和POP3协议的邮件发送与接收系统,在用户注册与登陆的过程中,常需要用到邮箱验证功能,下面是基于javamail的一个简单实现 用户注册后通过servlet得到邮箱地 ...
- Spring技术_邮箱注册_激活_获取验证码
项目结构 项目中用到的sql: create database hrSystem; use hrSystem; CREATE TABLE `emailverificationcode` ( `id` ...
- SSH网上商城---用户激活
在前面的博客中,小编主要结合SSH网上商城这个项目,简单的介绍了如何实现邮件发送的这个功能,邮件发送了,接下来就是激活了,为什么呢?现在大多网站都要通过对账号进行激活,然后才能注册成功,这是防止恶性注 ...
随机推荐
- dataset转list实体
private static object GetDefaultValue(object obj, Type type) { if (obj == DBNull.Value) { return def ...
- paper 118:计算机视觉、模式识别、机器学习常用牛人主页链接
牛人主页(主页有很多论文代码) Serge Belongie at UC San Diego Antonio Torralba at MIT Alexei Ffros at CMU Ce Liu at ...
- mysql count(*)和count(列)速率
count(*)通常是对主键进行索引扫描,count(列)不一定 count(*)是统计表中所有符合的记录总数,count(列)是计算表中所有符合的列的记录数 count的时候,如果没有where限制 ...
- rdesktop共享剪贴板的问题
使用-r clipboard:PRIMARYCLIPBOARD参数来共享剪贴板,连接到window7 但有时就不好用了,剪贴板没有同步 找到一些相关的资料 https://bugs.launchpad ...
- redmine computed custom field formula tips
项目中要用到Computed custom field插件,公式不知道怎么写,查了些资料,记录在这里. 1.http://apidock.com/ruby/Time/strftime 查看ruby的字 ...
- wex5 实战 登陆帐号更换与用户id一致性
一 前言 关于用户登陆,注册,页面跳转,我讲了很多,都是页面框架级别的.有人问到这个问题,索性总结一下,今天是收尾最后一篇. 以往初学时的设计是: 1 注册 2 登陆 3 进入页面. 这种很简单,没有 ...
- Centos7下Etcd集群搭建
一.简介 "A highly-available key value store for shared configuration and service discovery." ...
- kafka入门教程链接
http://www.aboutyun.com/forum.php?mod=viewthread&tid=12882 经典入门教程 1.Kafka独特设计在什么地方?2.Kafka如何搭建及创 ...
- Linux C 学习
int main() { int64_t test = ; printf("%lld\n",test); float f_test = 100.2123; printf(" ...
- JavaScript---function、this关键字相关习题
1. 请看下列代码: function F( ){ function C( ){ return this; } return C(); } var o=new F( ); 请问上面的this值指向的是 ...