public AccountSignResult ShortcutSignIn(AccountSign entity) { if (null == entity || string.IsNullOrEmpty(entity.MobilePhone) || string.IsNullOrEmpty(entity.ValidationCode)) { return(null); } var account = MvcContext.Current.ClientAccount; if (null == account) { return(null); } var passportId = UserPassport.FindIdByMobilePhone(entity.MobilePhone); if (passportId == 0) { entity.Password = HashHelper.ComputeHash(entity.MobilePhone, HashAlgorithmName.SHA1).Substring(0, 6); return(SignUp(entity)); } var isValid = MessageHelper.CheckSMSValidationCode(entity.MobilePhone, entity.ValidationCode); if (MvcContext.Current.Test && entity.ValidationCode == AppEnvironment.TestValidationCode) { isValid = true; } if (false == isValid) { return(new AccountSignResult() { SignStatus = SignStatus.InvalidValidationCode, ErrorMessage = "验证码无效,请重新获取" }); } if (!string.IsNullOrEmpty(entity.InviteCode)) { System.Web.HttpContext.Current.Items.Add(WorkplaceApplication.InviteCodeKey, entity.InviteCode); } UserPassport userPassport = null; var isSignIn = AccountAuthentication.SignIn(passportId, new SignedInLog(), out userPassport); var result = new AccountSignResult(); result.SignStatus = isSignIn ? SignStatus.Success : SignStatus.InvalidPassword; if (result.SignStatus == SignStatus.Success) { result.Account = new AccountEntity(account, userPassport); result.AdditionalAction = ProcessAdditionalAction(entity.AdditionalAction); WriteTokenToBrowser(result); } else { result.ErrorMessage = "用户名或密码错误"; } return(result); }
public bool ExistsMobilePhone(string phone) { if (string.IsNullOrEmpty(phone)) { return(false); } var passportId = UserPassport.FindIdByMobilePhone(phone); return(passportId > 0); }
public AccountSignResult ResetPassword(AccountSign entity) { if (null == entity || string.IsNullOrEmpty(entity.MobilePhone) || string.IsNullOrEmpty(entity.Password) || string.IsNullOrEmpty(entity.ValidationCode)) { return(null); } var account = MvcContext.Current.ClientAccount; if (null == account) { return(null); } var isValid = MessageHelper.CheckSMSValidationCode(entity.MobilePhone, entity.ValidationCode); if (MvcContext.Current.Test && entity.ValidationCode == AppEnvironment.TestValidationCode) { isValid = true; } if (false == isValid) { return(new AccountSignResult() { SignStatus = SignStatus.InvalidValidationCode, ErrorMessage = "验证码无效,请重新获取" }); } var passportId = UserPassport.FindIdByMobilePhone(entity.MobilePhone); if (passportId < 1) { return(new AccountSignResult() { SignStatus = SignStatus.InvalidMobilePhone, ErrorMessage = "手机号未注册" }); } var isChanged = MemberShip.ChangePassword(passportId, entity.Password); if (isChanged) { return(new AccountSignResult() { SignStatus = SignStatus.Success }); } return(new AccountSignResult() { SignStatus = SignStatus.Failed }); }