本帖最后由 huahuagongzi9999 于 2013-06-22 11:31:53 编辑

解决方案 »

  1.   

    问题1
    1.用javamail技术给绑定的邮箱发个邮件(代码不写了)
    2.需要加表,因为有返回的信息,来确定用户,密文,过期时间
    问题2
    1.调用电信通信方面的接口给绑定手机发个短信
    2.同上
    这是我的思路,
      

  2.   


    email的验证和过期时间,直接放在用户表可以不?还是加张表效率高点?比如:不加表可以如下设计CREATE TABLE `user_base` (
      `userId` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '编号',
      `userType` INT(11) NOT NULL COMMENT '用户帐号类别:0表示匿名用户,1表示用邮箱验证的用户;2表示用手机验证的用户;9表示其它',
      `userName` VARCHAR(32) NOT NULL COMMENT '登录名称:匿名用户登录名称默认为userId',
      `password` VARCHAR(64) DEFAULT NULL COMMENT '登录密码的MD5值'
      `userStatus` INT(11) NOT NULL COMMENT '用户状态:1为正常,2为锁定,-1为注销',
      `userPhone` VARCHAR(20) DEFAULT NULL COMMENT '绑定的手机号码',
      `userPhoneStatus` INT(11) NOT NULL DEFAULT '1' COMMENT '账号手机1未验证 2已验证',
      `userEmail` VARCHAR(45) DEFAULT NULL COMMENT '绑定的邮箱',
      `userEmailStatus` INT(11) NOT NULL DEFAULT '1' COMMENT '账号邮箱1未验证 2已验证',
      `createTime` DATETIME NOT NULL COMMENT '注册时间',
      
      `emailActiveCode` VARCHAR(32)  NULL COMMENT 'email激活码',
      `emailActiveUrlDeadTime` VARCHAR(32)  NULL COMMENT 'email激活链接过期时间',
      PRIMARY KEY (`userId`)
    ) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='用户账号信息表'
      

  3.   


    email的验证和过期时间,直接放在用户表可以不?还是加张表效率高点?比如:不加表可以如下设计CREATE TABLE `user_base` (
      `userId` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '编号',
      `userType` INT(11) NOT NULL COMMENT '用户帐号类别:0表示匿名用户,1表示用邮箱验证的用户;2表示用手机验证的用户;9表示其它',
      `userName` VARCHAR(32) NOT NULL COMMENT '登录名称:匿名用户登录名称默认为userId',
      `password` VARCHAR(64) DEFAULT NULL COMMENT '登录密码的MD5值'
      `userStatus` INT(11) NOT NULL COMMENT '用户状态:1为正常,2为锁定,-1为注销',
      `userPhone` VARCHAR(20) DEFAULT NULL COMMENT '绑定的手机号码',
      `userPhoneStatus` INT(11) NOT NULL DEFAULT '1' COMMENT '账号手机1未验证 2已验证',
      `userEmail` VARCHAR(45) DEFAULT NULL COMMENT '绑定的邮箱',
      `userEmailStatus` INT(11) NOT NULL DEFAULT '1' COMMENT '账号邮箱1未验证 2已验证',
      `createTime` DATETIME NOT NULL COMMENT '注册时间',
      
      `emailActiveCode` VARCHAR(32)  NULL COMMENT 'email激活码',
      `emailActiveUrlDeadTime` VARCHAR(32)  NULL COMMENT 'email激活链接过期时间',
      PRIMARY KEY (`userId`)
    ) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='用户账号信息表'

    可以放在用户表啊