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;
     }
 }
Ejemplo n.º 2
0
        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();
                }
            }
        }