| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -71,28 +71,25 @@ public static void send(String toEmail, String subject, String content) { | |||
| 71 | 71 | public static String redirectValidateUrl(String email, String password) { | |
| 72 | 72 | Long now = DateUtil.getNowOfMills(); | |
| 73 | 73 | StringBuilder sb = new StringBuilder("点击下面链接激活账号,48小时生效,否则重新注册账号,链接只能使用一次,请尽快激活!</br>"); | |
| 74 | - sb.append("<a href=\"http://xiaomo.info/validate.html?email="); | ||
| 74 | + sb.append("<a href=\"http://localhost:8080/user/validate?email="); | ||
| 75 | 75 | sb.append(email); | |
| 76 | 76 | sb.append("&password="); | |
| 77 | 77 | sb.append(password); | |
| 78 | - sb.append("&validateCode="); | ||
| 79 | - sb.append(MD5Util.encode(email, String.valueOf(now)));//邮箱加上当前时间戳,以保证每个验证码都是不一样的 | ||
| 80 | 78 | sb.append("&time="); | |
| 81 | 79 | sb.append(now); | |
| 82 | 80 | sb.append("\">"); | |
| 83 | - sb.append("http://xiaomo.info/validate.html?email="); | ||
| 81 | + sb.append("http://localhost:8080/user/validate?email="); | ||
| 84 | 82 | sb.append(email); | |
| 85 | 83 | sb.append("&password="); | |
| 86 | 84 | sb.append(password); | |
| 87 | - sb.append("&validateCode="); | ||
| 88 | - sb.append(MD5Util.encode(email, String.valueOf(now)));//邮箱加上当前时间戳,以保证每个验证码都是不一样的 | ||
| 89 | 85 | sb.append("&time="); | |
| 90 | 86 | sb.append(now); | |
| 91 | 87 | sb.append("</a><br/>"); | |
| 92 | 88 | sb.append("<span style='float:right;padding-right:4%'>小莫</span></br>"); | |
| 93 | 89 | sb.append("<span style='float:right'>"); | |
| 94 | 90 | sb.append(DateUtil.getFormatDate()); | |
| 95 | 91 | sb.append("</span></br>"); | |
| 92 | + System.out.println(sb.toString()); | ||
| 96 | 93 | return sb.toString(); | |
| 97 | 94 | } | |
| 98 | 95 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -48,11 +48,16 @@ public UserController(UserService service) { | |||
| 48 | 48 | } | |
| 49 | 49 | ||
| 50 | 50 | ||
| 51 | - @RequestMapping(value = "toLogin",method = RequestMethod.GET) | ||
| 52 | - public String login() { | ||
| 51 | + @RequestMapping(value = "toLogin", method = RequestMethod.GET) | ||
| 52 | + public String toLogin() { | ||
| 53 | 53 | return UserView.LOGIN.getName(); | |
| 54 | 54 | } | |
| 55 | 55 | ||
| 56 | + @RequestMapping(value = "toRegister", method = RequestMethod.GET) | ||
| 57 | + public String toRegister() { | ||
| 58 | + return UserView.REGISTER.getName(); | ||
| 59 | + } | ||
| 60 | + | ||
| 56 | 61 | /** | |
| 57 | 62 | * 登录 | |
| 58 | 63 | * | |
@@ -66,12 +71,12 @@ public String login(@RequestParam String email, | |||
| 66 | 71 | UserModel userModel = service.findUserByEmail(email); | |
| 67 | 72 | //找不到用户 | |
| 68 | 73 | if (userModel == null) { | |
| 69 | - map.put("errMsg","找不到用户"); | ||
| 74 | + map.put("errMsg", "找不到用户"); | ||
| 70 | 75 | return UserView.LOGIN.getName(); | |
| 71 | 76 | } | |
| 72 | 77 | //密码不正确 | |
| 73 | 78 | if (!MD5Util.encode(password, userModel.getSalt()).equals(userModel.getPassword())) { | |
| 74 | - map.put("errMsg","密码不正确"); | ||
| 79 | + map.put("errMsg", "密码不正确"); | ||
| 75 | 80 | return UserView.LOGIN.getName(); | |
| 76 | 81 | } | |
| 77 | 82 | session.setAttribute("currentUser", userModel); | |
@@ -104,7 +109,6 @@ public Result addUser(@RequestBody UserModel user) { | |||
| 104 | 109 | } | |
| 105 | 110 | String salt = RandomUtil.createSalt(); | |
| 106 | 111 | user.setPassword(MD5Util.encode(user.getPassword(), salt)); | |
| 107 | - user.setValidateCode(MD5Util.encode(user.getEmail(), "")); | ||
| 108 | 112 | user.setSalt(salt); | |
| 109 | 113 | service.addUser(user); | |
| 110 | 114 | return new Result(user); | |
@@ -115,21 +119,22 @@ public Result addUser(@RequestBody UserModel user) { | |||
| 115 | 119 | * | |
| 116 | 120 | * @return result | |
| 117 | 121 | */ | |
| 118 | - @RequestMapping(value = "register/{email}/{password}", method = RequestMethod.POST) | ||
| 119 | - public Result register(@PathVariable("email") String email, @PathVariable("password") String password) throws Exception { | ||
| 122 | + @RequestMapping(value = "register", method = RequestMethod.POST) | ||
| 123 | + public String register(@RequestParam("email") String email, | ||
| 124 | + @RequestParam("password") String password, | ||
| 125 | + ModelMap map) throws Exception { | ||
| 120 | 126 | UserModel userModel = service.findUserByEmail(email); | |
| 121 | 127 | //邮箱被占用 | |
| 122 | 128 | if (userModel != null) { | |
| 123 | - return new Result(Err.USER_REPEAT.getCode(), Err.USER_REPEAT.getMessage()); | ||
| 129 | + map.put("errMsg", "邮箱被占用!"); | ||
| 130 | + return UserView.REGISTER.getName(); | ||
| 124 | 131 | } | |
| 125 | 132 | String redirectValidateUrl = MailUtil.redirectValidateUrl(email, password); | |
| 126 | 133 | MailUtil.send(email, "帐号激活邮件", redirectValidateUrl); | |
| 127 | - return new Result(redirectValidateUrl); | ||
| 134 | + return UserView.REGISTER_INFO.getName(); | ||
| 128 | 135 | } | |
| 129 | 136 | ||
| 130 | 137 | ||
| 131 | - | ||
| 132 | - | ||
| 133 | 138 | /** | |
| 134 | 139 | * 修改密码 | |
| 135 | 140 | * | |
@@ -168,7 +173,6 @@ public Result update(@RequestBody UserModel user) throws UserNotFoundException { | |||
| 168 | 173 | userModel.setPhone(user.getPhone()); | |
| 169 | 174 | userModel.setAddress(user.getAddress()); | |
| 170 | 175 | userModel.setGender(user.getGender()); | |
| 171 | - userModel.setValidateCode(MD5Util.encode(user.getEmail(), "")); | ||
| 172 | 176 | UserModel updateUser = service.updateUser(userModel); | |
| 173 | 177 | return new Result(updateUser); | |
| 174 | 178 | } | |
@@ -206,33 +210,39 @@ public Result deleteUserById(@PathVariable("id") Long id) throws UserNotFoundExc | |||
| 206 | 210 | /** | |
| 207 | 211 | * 处理激活 | |
| 208 | 212 | */ | |
| 209 | - @RequestMapping(value = "validateEmail", method = RequestMethod.POST) | ||
| 210 | - public Result validateEmail(@RequestBody UserModel user | ||
| 213 | + @RequestMapping(value = "validate", method = RequestMethod.GET) | ||
| 214 | + public String validateEmail( | ||
| 215 | + @RequestParam String email, | ||
| 216 | + @RequestParam String password, | ||
| 217 | + @RequestParam Long time, | ||
| 218 | + ModelMap map, | ||
| 219 | + HttpSession session | ||
| 211 | 220 | ) throws ServiceException, ParseException, UserNotFoundException { | |
| 212 | 221 | //数据访问层,通过email获取用户信息 | |
| 213 | - UserModel userModel = service.findUserByEmail(user.getEmail()); | ||
| 222 | + UserModel userModel = service.findUserByEmail(email); | ||
| 214 | 223 | if (userModel != null) { | |
| 215 | - return new Result(Err.USER_REPEAT.getCode(), Err.USER_REPEAT.getMessage()); | ||
| 224 | + map.put("errMsg", "邮箱己被占用"); | ||
| 225 | + return UserView.REGISTER.getName(); | ||
| 216 | 226 | } | |
| 217 | 227 | //验证码是否过期 | |
| 218 | - if (user.getRegisterTime() + DateUtil.ONE_DAY_IN_MILLISECONDS * 2 < DateUtil.getNowOfMills()) { | ||
| 219 | - LOGGER.info("用户{}使用己过期的激活码{}激活邮箱失败!", user.getEmail(), user.getEmail()); | ||
| 220 | - return new Result(Err.TIME_PASSED.getCode(), Err.TIME_PASSED.getMessage()); | ||
| 228 | + if (time + DateUtil.ONE_DAY_IN_MILLISECONDS * 2 < DateUtil.getNowOfMills()) { | ||
| 229 | + LOGGER.info("用户{}使用己过期时间{}激活邮箱失败!", email, time); | ||
| 230 | + map.put("errMsg", "时间己过期,请重新注册"); | ||
| 231 | + return UserView.REGISTER.getName(); | ||
| 221 | 232 | } | |
| 222 | 233 | //激活 | |
| 223 | 234 | String salt = RandomUtil.createSalt(); | |
| 224 | 235 | userModel = new UserModel(); | |
| 225 | - userModel.setNickName(user.getNickName()); | ||
| 226 | - userModel.setEmail(user.getEmail()); | ||
| 236 | + userModel.setNickName(email); | ||
| 237 | + userModel.setEmail(email); | ||
| 227 | 238 | userModel.setGender(GenderType.secret); | |
| 228 | - userModel.setValidateCode(MD5Util.encode(user.getEmail(), salt)); | ||
| 229 | 239 | userModel.setPhone(0L); | |
| 230 | 240 | userModel.setSalt(salt); | |
| 231 | 241 | userModel.setAddress(""); | |
| 232 | - userModel.setPassword(MD5Util.encode(user.getPassword(), salt)); | ||
| 242 | + userModel.setPassword(MD5Util.encode(password, salt)); | ||
| 233 | 243 | userModel = service.addUser(userModel); | |
| 234 | - LOGGER.info("用户{}使用激活码{}激活邮箱成功!", userModel.getEmail(), userModel.getValidateCode()); | ||
| 235 | - return new Result(userModel); | ||
| 244 | + LOGGER.info("用户{}激活邮箱成功!", userModel.getEmail()); | ||
| 245 | + session.setAttribute("currentUser", userModel); | ||
| 246 | + return UserView.INDEX.getName(); | ||
| 236 | 247 | } | |
| 237 | - | ||
| 238 | 248 | } | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -44,9 +44,6 @@ public class UserModel extends BaseModel implements Serializable { | |||
| 44 | 44 | @Column(name = "Salt") | |
| 45 | 45 | private String salt; | |
| 46 | 46 | ||
| 47 | - @Column(name = "ValidateCode") | ||
| 48 | - private String validateCode; | ||
| 49 | - | ||
| 50 | 47 | @Column(name = "Gender") | |
| 51 | 48 | private int gender = 0; | |
| 52 | 49 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -17,6 +17,8 @@ | |||
| 17 | 17 | public enum UserView { | |
| 18 | 18 | ||
| 19 | 19 | LOGIN("login"), | |
| 20 | + REGISTER("register"), | ||
| 21 | + REGISTER_INFO("info"), | ||
| 20 | 22 | INDEX("/web/index"); | |
| 21 | 23 | ||
| 22 | 24 | private String name; | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,13 @@ | |||
| 1 | + <!doctype html> | ||
| 2 | + <html lang="en"> | ||
| 3 | + <head> | ||
| 4 | + <meta charset="UTF-8"> | ||
| 5 | + <meta name="viewport" | ||
| 6 | + content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> | ||
| 7 | + <meta http-equiv="X-UA-Compatible" content="ie=edge"> | ||
| 8 | + <title>Document</title> | ||
| 9 | + </head> | ||
| 10 | + <body> | ||
| 11 | + 请前往邮箱查看邮件并激活 | ||
| 12 | + </body> | ||
| 13 | + </html> | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -15,6 +15,12 @@ | |||
| 15 | 15 | <h1>${errMsg}</h1> | |
| 16 | 16 | #end | |
| 17 | 17 | <div><input type="submit" value="登录"/></div> | |
| 18 | + <div><input type="button" value="注册" onclick="toRegister()"/></div> | ||
| 18 | 19 | </form> | |
| 20 | + <script> | ||
| 21 | + function toRegister() { | ||
| 22 | + window.location.href="toRegister"; | ||
| 23 | + } | ||
| 24 | + </script> | ||
| 19 | 25 | </body> | |
| 20 | 26 | </html> | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,20 @@ | |||
| 1 | + <!doctype html> | ||
| 2 | + <html lang="en"> | ||
| 3 | + <head> | ||
| 4 | + <meta charset="UTF-8"> | ||
| 5 | + <meta name="viewport" | ||
| 6 | + content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> | ||
| 7 | + <meta http-equiv="X-UA-Compatible" content="ie=edge"> | ||
| 8 | + <title>login</title> | ||
| 9 | + </head> | ||
| 10 | + <body> | ||
| 11 | + <form action="/user/register" method="post"> | ||
| 12 | + <div><label> 用户名 : <input type="text" name="email"/> </label></div> | ||
| 13 | + <div><label> 密 码 : <input type="password" name="password"/> </label></div> | ||
| 14 | + #if($errMsg) | ||
| 15 | + <h1>${errMsg}</h1> | ||
| 16 | + #end | ||
| 17 | + <div><input type="submit" value="注册"/></div> | ||
| 18 | + </form> | ||
| 19 | + </body> | ||
| 20 | + </html> | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,19 @@ | |||
| 1 | + <!doctype html> | ||
| 2 | + <html lang="en"> | ||
| 3 | + <head> | ||
| 4 | + <meta charset="UTF-8"> | ||
| 5 | + <meta name="viewport" | ||
| 6 | + content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> | ||
| 7 | + <meta http-equiv="X-UA-Compatible" content="ie=edge"> | ||
| 8 | + <title>login</title> | ||
| 9 | + </head> | ||
| 10 | + <body> | ||
| 11 | + <form action="/user/login" method="post"> | ||
| 12 | + <div><label> 邮箱 : <input type="text" name="email"/> </label></div> | ||
| 13 | + #if($errMsg) | ||
| 14 | + <h1>${errMsg}</h1> | ||
| 15 | + #end | ||
| 16 | + <div><input type="submit" value="注册"/></div> | ||
| 17 | + </form> | ||
| 18 | + </body> | ||
| 19 | + </html> | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments