public ActionResult SignIn(string phone, string password) { if (string.IsNullOrEmpty(phone) || string.IsNullOrEmpty(password)) { return(Json(new { Success = false, Message = "手机号和密码不能为空" })); } var entity = new AccountSign() { MobilePhone = phone, Password = password }; UserPassport userPassport = null; var success = AccountAuthentication.SignIn(phone, password, null, out userPassport); if (!success) { return(Json(new { Success = false, Message = "手机号或密码错误" })); } var account = AnonymousAccount.FindLastByPassport(userPassport.PassportId); if (account == null) { return(Json(new { Success = false, Message = "Token已失效" })); } CookieHelper.SetCookie(AccountAuthentication.TokenKey, account.Token.AccessToken); return(Json(new { Success = true, Message = "登陆成功" })); }
public void SignInTest() { var accountSign = new AccountSign() { MobilePhone = string.Format("171{0}", new Random().Next(12345678, 98765432)), Password = string.Format("pwd{0}", new Random().Next(12345, 98765)) }; var entity = ApiTestBase.SignUp(accountSign); var responseResult = WebApiClient.HttpPost(ApiEnvironment.Account_SignIn_Endpoint, accountSign); Assert.AreEqual(HttpStatusCode.OK, responseResult.StatusCode); Console.WriteLine(responseResult.Content); var signResult = responseResult.Content.ConvertEntity <AccountSignResult>(); Assert.IsNotNull(signResult); Assert.AreEqual(SignStatus.Success, signResult.SignStatus); Assert.IsNotNull(signResult.Account); // Error password accountSign.Password += "000"; responseResult = WebApiClient.HttpPost(ApiEnvironment.Account_SignIn_Endpoint, accountSign); Assert.AreEqual(HttpStatusCode.OK, responseResult.StatusCode); signResult = responseResult.Content.ConvertEntity <AccountSignResult>(); Assert.IsNotNull(signResult); Assert.AreEqual(SignStatus.InvalidPassword, signResult.SignStatus); }
public void ResetPasswordTest() { var accountSign = new AccountSign() { MobilePhone = "18900999900", Password = "******", ValidationCode = "1232" }; var responseResult = WebApiClient.HttpPost(ApiEnvironment.Account_ResetPassword_Endpoint, accountSign); Assert.AreEqual(HttpStatusCode.OK, responseResult.StatusCode); Console.WriteLine(responseResult.Content); var signResult = responseResult.Content.ConvertEntity <AccountSignResult>(); Assert.IsNotNull(signResult); Assert.AreEqual(SignStatus.InvalidValidationCode, signResult.SignStatus); accountSign = new AccountSign() { MobilePhone = "18900999900", Password = "******", ValidationCode = "FRUIT1204" }; responseResult = WebApiClient.HttpPost(ApiEnvironment.Account_ResetPassword_Endpoint, accountSign); Assert.AreEqual(HttpStatusCode.OK, responseResult.StatusCode); signResult = responseResult.Content.ConvertEntity <AccountSignResult>(); Assert.IsNotNull(signResult); Assert.AreEqual(SignStatus.InvalidMobilePhone, signResult.SignStatus); responseResult = WebApiClient.HttpPost(ApiEnvironment.Account_ResetPassword_Endpoint, accountSign); }
public ActionResult ShortcutSignIn(string phone, string code) { if (string.IsNullOrEmpty(phone) || string.IsNullOrEmpty(code)) { return(Json(new { Success = false, Message = "手机号和验证码不能为空" })); } var entity = new AccountSign() { MobilePhone = phone, ValidationCode = code }; var signResult = new AccountController().ShortcutSignIn(entity); if (signResult.SignStatus != SignStatus.Success) { return(Json(new { Success = false, Message = "验证码错误" })); } var account = AnonymousAccount.FindLastByPassport(signResult.Account.PassportId); if (account == null) { return(Json(new { Success = false, Message = "Token已失效" })); } CookieHelper.SetCookie(AccountAuthentication.TokenKey, account.Token.AccessToken); return(Json(new { Success = true, Message = "登陆成功" })); }
public Subtotal(String language, String key, Decimal value, AccountSign sign) { Language = language; Key = key; Value = value; Sign = sign; }
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 ChangePassword([FromBody] AccountSign entity) { if (entity == null || string.IsNullOrEmpty(entity.Password)) { return(false); } var isChanged = MemberShip.ChangePassword(MvcContext.Current.PassportId, entity.Password); return(isChanged); }
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 }); }
/// <summary> /// /// </summary> /// <returns></returns> public static AccountSignResult SignUp() { var accountSign = new AccountSign() { MobilePhone = string.Format("199{0}", new Random().Next(12345678, 98765432)), Password = string.Format("pwd{0}", new Random().Next(12345678, 98765432)), SelectedProfileType = ProfileType.OrganizationProfile }; return(SignUp(accountSign)); }
public void InviteSignUpTest() { Console.WriteLine(ConfigurationManager.AppSettings["app:TestValidationCode"]); var accountSign = new AccountSign() { MobilePhone = string.Format("199{0}", new Random().Next(12345678, 98765432)), Password = string.Format("pwd{0}", new Random().Next(12345678, 98765432)), InviteCode = string.Format("Invite-{0}", Guid.NewGuid().ToString("N")) }; var entity = ApiTestBase.SignUp(accountSign); Assert.IsNotNull(entity); }
public static AccountSignResult SignIn() { var accountSign = new AccountSign() { MobilePhone = "18900000001", Password = "******" }; var responseResult = WebApiClient.HttpPost(ApiEnvironment.Account_SignIn_Endpoint, accountSign); Assert.AreEqual(HttpStatusCode.OK, responseResult.StatusCode); var signResult = responseResult.Content.ConvertEntity <AccountSignResult>(); Assert.IsNotNull(signResult); Assert.AreEqual(SignStatus.Success, signResult.SignStatus); return(signResult); }
public static AccountSignResult SignUp(AccountSign accountSign) { accountSign.ValidationCode = ConfigurationManager.AppSettings["app:TestValidationCode"]; var responseResult = WebApiClient.HttpPost(ApiEnvironment.Account_SignUp_Endpoint, accountSign); Console.WriteLine("[{0}]{1}", responseResult.StatusCode, responseResult.Content); var entity = responseResult.Content.ConvertEntity <AccountSignResult>(); Assert.IsNotNull(entity); if (entity.SignStatus != SignStatus.DuplicateMobilePhone) { Assert.IsNotNull(entity.Account); Assert.IsNotNull(entity.Account.Token); Assert.IsTrue(entity.Account.PassportId > 0); } return(entity); }
public void OpenCareerServiceTest() { var accountSign = new AccountSign() { MobilePhone = "181" + TestHelper.GetRndNumber(10000000, 90000000).ToString(), Password = string.Format("jxl12345", new Random().Next(12345, 98765)) }; var signResult = SignUp(accountSign); if (signResult.SignStatus == SignStatus.DuplicateMobilePhone) { Console.WriteLine("{0} => {1}", accountSign.MobilePhone, signResult.ErrorMessage); return; } var accountResult = WebApiClient.HttpPost(ApiEnvironment.Consultant_OpenCareerService_Endpoint, new OrganizationProfile()); Console.WriteLine("OpenCareerService => {0}", accountResult.Content); }
public void ExistsMobilePhoneTest() { var accountSign = new AccountSign() { MobilePhone = string.Format("171{0}", new Random().Next(12345678, 98765432)), Password = string.Format("pwd{0}", new Random().Next(12345, 98765)) }; var responseResult = WebApiClient.HttpGet(ApiEnvironment.Account_ExistsMobilePhone_Endpoint + "?phone=" + accountSign.MobilePhone); if (HttpStatusCode.OK != responseResult.StatusCode) { Console.WriteLine(responseResult.Content); } Assert.AreEqual("false", responseResult.Content); ApiTestBase.SignUp(accountSign); responseResult = WebApiClient.HttpGet(ApiEnvironment.Account_ExistsMobilePhone_Endpoint + "?phone=" + accountSign.MobilePhone); if (HttpStatusCode.OK != responseResult.StatusCode) { Console.WriteLine(responseResult.Content); } Assert.AreEqual("true", responseResult.Content); }
public AccountSignResult SignIn(AccountSign entity) { if (null == entity || string.IsNullOrEmpty(entity.MobilePhone) || string.IsNullOrEmpty(entity.Password)) { return(null); } var account = MvcContext.Current.ClientAccount; if (null == account) { return(null); } if (!string.IsNullOrEmpty(entity.InviteCode)) { System.Web.HttpContext.Current.Items.Add(WorkplaceApplication.InviteCodeKey, entity.InviteCode); } UserPassport userPassport = null; var isSignIn = AccountAuthentication.SignIn(entity.MobilePhone, entity.Password, 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 AccountSignResult SignUp(AccountSign entity) { if (null == entity || string.IsNullOrEmpty(entity.MobilePhone) || string.IsNullOrEmpty(entity.Password) || string.IsNullOrEmpty(entity.ValidationCode) || ProfileType.None == entity.SelectedProfileType) { this.ReturnPreconditionFailedMessage(); } var account = MvcContext.Current.ClientAccount; if (null == account) { this.ReturnPreconditionFailedMessage(); } 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); } var signStatus = SignStatus.Error; var signedUpInfo = new SignedUpInfo() { InviteCode = entity.InviteCode, SignedUpIp = this.Request.GetClientIP(), HttpUserAgent = this.Request.GetUserAgent(), HttpReferer = null == this.Request.Headers.Referrer ? "" : this.Request.Headers.Referrer.ToString() }; var userPassport = AccountAuthentication.SignUp(entity.MobilePhone, entity.Password, entity.SelectedProfileType, signedUpInfo, out signStatus); var result = new AccountSignResult(); result.SignStatus = signStatus; if (result.SignStatus == SignStatus.Success) { result.CreatedNewPassport = true; result.Account = new AccountEntity(account, userPassport); result.AdditionalAction = ProcessAdditionalAction(entity.AdditionalAction); WriteTokenToBrowser(result); } else { if (result.SignStatus == SignStatus.DuplicateMobilePhone) { result.ErrorMessage = "手机号已经注册"; } else { result.ErrorMessage = "注册失败"; } } return(result); }