protected void LoginButton_Click(object sender, EventArgs e) { if (Membership.ValidateUser(UserName.Text, Password.Text)) { //MIGRATE USER IF NEEDED int newUserId = UserDataSource.GetUserId(UserName.Text); if ((AbleContext.Current.UserId != newUserId) && (newUserId != 0)) { User.Migrate(AbleContext.Current.User, UserDataSource.Load(newUserId)); AbleContext.Current.UserId = newUserId; AbleContext.Current.User = UserDataSource.Load(newUserId); } //HANDLE LOGIN PROCESSING if (RememberUserName.Checked) { HttpCookie cookie = new HttpCookie("UserName", UserName.Text); cookie.Expires = DateTime.MaxValue; Response.Cookies.Add(cookie); } else { Response.Cookies.Add(new HttpCookie("UserName", "")); } //UPDATE AUTHORIZATION COOKIE FormsAuthentication.SetAuthCookie(UserName.Text, false); //REDIRECT TO CHECKOUT Response.Redirect(AbleCommerce.Code.NavigationHelper.GetCheckoutUrl(true)); } else { InvalidLogin.IsValid = false; } }
protected void LoginButton_Click(object sender, EventArgs e) { _LastPasswordValue = Password.Text; if (Page.IsValid) { //VALIDATE CAPTCHA if (!trCaptchaField.Visible || (CaptchaImage.Authenticate(CaptchaInput.Text))) { if (Membership.ValidateUser(UserName.Text, Password.Text)) { //MIGRATE USER IF NEEDED int newUserId = UserDataSource.GetUserId(UserName.Text); if ((AbleContext.Current.UserId != newUserId) && (newUserId != 0)) { CommerceBuilder.Users.User.Migrate(AbleContext.Current.User, UserDataSource.Load(newUserId)); AbleContext.Current.UserId = newUserId; } //HANDLE LOGIN PROCESSING if (RememberUserName.Checked) { HttpCookie cookie = new HttpCookie("UserName", UserName.Text); cookie.Expires = DateTime.MaxValue; Response.Cookies.Add(cookie); } else { Response.Cookies.Add(new HttpCookie("UserName", "")); } // CHECK PASSWORD FOR EXPIRATION User newUser = UserDataSource.Load(newUserId); MerchantPasswordPolicy policy = new MerchantPasswordPolicy(); if (policy.IsPasswordExpired(newUser)) { ShowPasswordExpired(); } else { // LOGIN SUCCESSFUL, REDIRECT FormsAuthentication.RedirectFromLoginPage(UserName.Text, false); } } else { User user = UserDataSource.LoadForUserName(UserName.Text); if (user != null) { if (!user.IsApproved) { AccountDisabled.IsValid = false; } else { MerchantPasswordPolicy policy = new MerchantPasswordPolicy(); int remainingTries = policy.MaxAttempts - user.FailedPasswordAttemptCount; if (!user.IsLockedOut && remainingTries > 0) { InvalidLogin.ErrorMessage += " You have {0} tries remaining."; InvalidLogin.ErrorMessage = String.Format(InvalidLogin.ErrorMessage, remainingTries); InvalidLogin.IsValid = false; } else { AccountLocked.ErrorMessage = String.Format(AccountLocked.ErrorMessage, policy.LockoutPeriod); AccountLocked.IsValid = false; } } } else { InvalidLogin.IsValid = false; } RefreshCaptcha(); } } else { CustomValidator invalidInput = new CustomValidator(); invalidInput.ValidationGroup = "Login"; invalidInput.Text = "*"; invalidInput.ErrorMessage = "You did not input the verification number correctly."; invalidInput.IsValid = false; phCaptchaValidators.Controls.Add(invalidInput); RefreshCaptcha(); } } }