public ActionResult SendRetrievePasswordEmail(string emailAccount) { try { var user = UserDataDapper.FindUser(emailAccount); var token = Tools.GetMD5(EncryptionTools.Crypt(user.UserName + user.Email + DateTime.Now.ToString())); EmailInfo email = new EmailInfo(); email.Body = $"Hi,{user.UserName}. <br>您正在通过注册邮箱找回密码,如果非本人操作,请勿继续." + "<br>请在24小时内点击以下链接重置密码:" + $"<br><a href='https://woyaozufang.live/Account/ModifyPassword?token={token}'>https://woyaozufang.live/Account/ModifyPassword?token={token}</a> " + "<br>如果您以上链接无法点击,您可以将以上链接复制并粘贴到浏览器地址栏打开." + "<br>此信由系统自动发出,系统不接收回信,因此请勿直接回复。" + "<br>如果有其他问题咨询请发邮件到[email protected]."; email.Receiver = user.Email; email.Subject = "地图找租房-找回密码"; email.ReceiverName = user.UserName; email.Send(); UserDataDapper.SaveRetrievePasswordToken(user.ID, token); return(Json(new { success = true })); } catch (Exception ex) { return(Json(new { success = false, error = ex.ToString() })); } }
public ActionResult RegisterUser(string userName, string userEmail, string password) { var checkUser = UserDataDapper.FindUser(userName); if (checkUser != null) { return(Json(new { success = false, error = "用户已存在!" })); } try { string token = Tools.GetMD5(EncryptionTools.Crypt(userName + userEmail)); EmailInfo email = new EmailInfo(); email.Body = $"Hi,{userName}. <br>欢迎您注册地图搜租房(woyaozufang.live),你的账号已经注册成功." + "<br/>为了保证您能正常体验网站服务,请点击下面的链接完成邮箱验证以激活账号." + $"<br><a href='https://woyaozufang.live/Account/Activated?activatedCode={token}'>https://woyaozufang.live/Account/Activate?activatedCode={token}</a> " + "<br>如果您以上链接无法点击,您可以将以上链接复制并粘贴到浏览器地址栏打开." + "<br>此信由系统自动发出,系统不接收回信,因此请勿直接回复。" + "<br>如果有其他问题咨询请发邮件到[email protected]."; email.Receiver = userEmail; email.Subject = "地图找租房-激活账号"; email.ReceiverName = userName; email.Send(); var user = new UserInfo(); user.UserName = userName; user.Password = password; user.Email = userEmail; user.ActivatedCode = token; UserDataDapper.InsertUser(user); return(Json(new { success = true, message = "注册成功!" })); } catch (Exception ex) { return(Json(new { success = false, error = ex.ToString() })); } }
public ActionResult Activated(string activatedCode) { ViewResult result = new ViewResult(); var userInfo = UserDataDapper.FindUserByActivatedCode(activatedCode); if (userInfo != null) { if (userInfo.Status == 1) { result.success = true; result.message = "账号已激活。"; } else { userInfo.Status = 1; UserDataDapper.SaveUserStatus(userInfo.ID, 1); result.success = true; result.message = "激活账号成功!"; } } else { result.success = true; result.error = "找不到用户,请重新注册."; } return(View(result)); }
public UserHouseController(UserDataDapper userDataDapper, UserHouseDapper userHouseDapper, EncryptionTools encryptionTools) { this.userDataDapper = userDataDapper; this.encryptionTools = encryptionTools; this.userHouseDapper = userHouseDapper; }
public AccountController(UserDataDapper userDataDapper, EmailService emailService, EncryptionTools encryptionTools) { this.userDataDapper = userDataDapper; this.emailService = emailService; this.encryptionTools = encryptionTools; }
public WebController(UserDataDapper userDataDapper, RedisService redisService, QQOAuthClient qqOAuthClient, UserService userService, EncryptionTools encryptionTools) { _authClient = qqOAuthClient.GetAPIOAuthClient(); _userDataDapper = userDataDapper; _userService = userService; _encryptionTools = encryptionTools; }
public ActionResult ResetPassword(string token, string password) { var user = UserDataDapper.FindUserByToken(token); if (user != null && (DateTime.Now.ToLocalTime() - user.TokenTime).TotalHours > 24) { return(Json(new { success = false, error = "Token无效或者重置密码链接已超过24小时,请重新操作." })); } UserDataDapper.SavePassword(user.ID, Tools.GetMD5(password)); return(Json(new { success = true })); }
public UserController(UserDataDapper userDataDapper, EmailService emailService, EncryptionTools encryptionTools, RedisService redisService, UserService userService) { this.userDataDapper = userDataDapper; this.emailService = emailService; this.encryptionTools = encryptionTools; this.redisService = redisService; this.userService = userService; }
public AccountController(UserDataDapper userDataDapper, EmailService emailService, EncryptionTools encryptionTools, UserService userService, QQOAuthClient authClient) { this._userDataDapper = userDataDapper; this._emailService = emailService; this._encryptionTools = encryptionTools; this._userService = userService; _authClient = authClient.GetAPIOAuthClient(); }
public AccountController(UserDataDapper userDataDapper, EmailService emailService, EncryptionTools encryptionTools, IOptions <APPConfiguration> configuration ) { this.userDataDapper = userDataDapper; this.emailService = emailService; this.encryptionTools = encryptionTools; this.configuration = configuration.Value; this.authClient = GetOAuthClient(); }
public ActionResult CheckUserEmail(string email) { var checkUser = UserDataDapper.FindUser(email); if (checkUser != null) { return(Json(new { success = false, error = "用户已存在!" })); } else { return(Json(new { success = true })); } }
public UserController(UserDataDapper userDataDapper, EmailService emailService, EncryptionTools encryptionTools, IOptions <APPConfiguration> configuration, RedisService redisService, UserService userService) { this.userDataDapper = userDataDapper; this.emailService = emailService; this.encryptionTools = encryptionTools; this.configuration = configuration.Value; this.redisService = redisService; this.userService = userService; }
public ActionResult Login(string userName, string password) { //var loginUser = new UserInfo(){ Email="*****@*****.**", Password = "******", Status =1}; var loginUser = UserDataDapper.FindUser(userName); if (loginUser != null) { if (loginUser.Status != 1) { return(Json(new { success = false, error = "账号未激活/已被禁用,请点击激活邮件中的URL完成账号激活!" })); } if (loginUser.Password == Tools.GetMD5(password)) { var user = new ClaimsPrincipal(new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, userName), new Claim(ClaimTypes.Email, loginUser.Email), new Claim(ClaimTypes.NameIdentifier, loginUser.ID.ToString()) }, CookieAuthenticationDefaults.AuthenticationScheme)); HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, user, new AuthenticationProperties { IsPersistent = true, ExpiresUtc = DateTimeOffset.Now.Add(TimeSpan.FromDays(7)) // 有效时间 }).Wait(); string token = EncryptionTools.Crypt($"{loginUser.ID}|{loginUser.UserName}"); return(Json(new { success = true, token = token, messgae = "登录成功!" })); } else { return(Json(new { success = false, error = "密码错误!" })); } } else { return(Json(new { success = false, error = "找不到用户信息或密码错误!" })); } }