Esempio n. 1
0
        void NewPasswordRulesValidator_ServerValidate(
            object source,
            ServerValidateEventArgs args)
        {
            CustomValidator validator = source as CustomValidator;

            validator.ErrorMessage = string.Empty;

            if (args.Value.Length < Membership.MinRequiredPasswordLength)
            {
                args.IsValid = false;
                validator.ErrorMessage
                    += ResourceHelper.GetResourceString("Resource", "ChangePasswordMinimumLengthWarning")
                       + Membership.MinRequiredPasswordLength.ToInvariantString() + "<br />";
            }

            if (!HasEnoughNonAlphaNumericCharacters(args.Value))
            {
                args.IsValid = false;
                validator.ErrorMessage
                    += ResourceHelper.GetResourceString("Resource", "ChangePasswordMinNonAlphanumericCharsWarning")
                       + Membership.MinRequiredNonAlphanumericCharacters.ToInvariantString() + "<br />";
            }

            gbMembershipProvider m = Membership.Provider as gbMembershipProvider;

            if (siteUser.Password == m.EncodePassword(siteUser.PasswordSalt + txtNewPassword.Text, siteSettings))
            {
                args.IsValid            = false;
                validator.ErrorMessage += ResourceHelper.GetResourceString("Resource", "ChangePasswordNewMatchesOldWarning") + "<br />";
            }
        }
Esempio n. 2
0
        void btnChangePassword_Click(object sender, EventArgs e)
        {
            Page.Validate("ChangePassword1");
            if (Page.IsValid)
            {
                if (siteUser.OpenIdUri.Length == 0)
                {
                    return;
                }

                if (siteUser.Email.Contains(siteUser.OpenIdUri) && siteUser.Email != Email.Text.Trim())
                {
                    if (SiteUser.EmailExistsInDB(siteSettings.SiteId, Email.Text.Trim()))
                    {
                        FailureText.Text = ResourceHelper.GetResourceString("Resource", "RegisterDuplicateEmailMessage");
                        return;
                    }

                    siteUser.Email = Email.Text.Trim();
                }
                if (siteUser.LoginName != UserName.Text.Trim())
                {
                    if (SiteUser.LoginExistsInDB(siteSettings.SiteId, UserName.Text.Trim()))
                    {
                        FailureText.Text = ResourceHelper.GetResourceString("Resource", "RegisterDuplicateUserNameMessage");
                        return;
                    }

                    siteUser.LoginName = UserName.Text.Trim();
                    siteUser.Name      = siteUser.LoginName;
                }

                siteUser.PasswordResetGuid = Guid.Empty;
                gbMembershipProvider m = Membership.Provider as gbMembershipProvider;
                siteUser.Password         = m.EncodePassword(siteSettings, siteUser, txtNewPassword.Text);
                siteUser.MustChangePwd    = false;
                siteUser.ApprovedForLogin = true;
                siteUser.Save();
                siteUser.UpdateLastPasswordChangeTime();

                DoUserLogin(siteUser);

                //if (!string.IsNullOrEmpty(Request.QueryString["gl"]))
                //    Response.Redirect("/cart", true);
                SetupScripts();
            }
        }
Esempio n. 3
0
        private SiteUser CreateUser(FaceBookUser oUser)
        {
            if (string.IsNullOrEmpty(oUser.Email) || !Email.IsValidEmailAddressSyntax(oUser.Email))
            {
                oUser.Email = oUser.Id + "@facebook.com";
            }

            if (SiteUser.EmailExistsInDB(siteSettings.SiteId, oUser.Email))
            {
                var user = new SiteUser(siteSettings, oUser.Email);
                if (user != null && user.UserId > 0)
                {
                    if (string.IsNullOrEmpty(user.OpenIdUri))
                    {
                        user.OpenIdUri = oUser.Id;
                        //if (oUser.Email != user.Email)
                        //    user.ApprovedForLogin = true;
                        user.Save();
                    }

                    return(user);
                }
            }

            SiteUser newUser = new SiteUser(siteSettings);

            newUser.Email     = oUser.Email;
            newUser.LoginName = SiteUtils.SuggestLoginNameFromEmail(siteSettings.SiteId, newUser.Email);
            newUser.Name      = newUser.LoginName;
            gbMembershipProvider gbMembership = (gbMembershipProvider)Membership.Provider;

            newUser.Password = gbMembership.EncodePassword(siteSettings, newUser, SiteUser.CreateRandomPassword(7, WebConfigSettings.PasswordGeneratorChars));

            newUser.ApprovedForLogin = false;
            newUser.OpenIdUri        = oUser.Id; //"http://www.facebook.com/profile.php?id=" + oUser.Id;
            if (!string.IsNullOrEmpty(oUser.First_Name))
            {
                newUser.FirstName = oUser.First_Name;
            }
            if (!string.IsNullOrEmpty(oUser.Last_Name))
            {
                newUser.FirstName = (oUser.Last_Name + " " + newUser.FirstName).Trim();
                //newUser.LastName = oUser.Last_Name;
            }

            if (string.IsNullOrEmpty(newUser.FirstName) && !string.IsNullOrEmpty(oUser.Name))
            {
                newUser.FirstName = oUser.Name;
            }

            //if (!string.IsNullOrEmpty(oUser.Bio))
            //    newUser.AuthorBio = oUser.Bio;
            if (!string.IsNullOrEmpty(oUser.Gender))
            {
                switch (oUser.Gender.ToLower())
                {
                case "male":
                case "nam":
                    newUser.Gender = "M";
                    break;

                case "female":
                case "nữ":
                    newUser.Gender = "F";
                    break;
                }

                //newUser.Gender = oUser.Gender.ToUpper();
            }
            //if (!string.IsNullOrEmpty(oUser.Link))
            //    newUser.WebSiteUrl = oUser.Link;
            //newUser.AvatarUrl = string.Format("https://graph.facebook.com/{0}/picture?width=160&height=160", oUser.Id);

            newUser.Save();

            //// track clientNo ip address
            //UserLocation userLocation = new UserLocation(newUser.UserGuid, SiteUtils.GetIP4Address());
            //userLocation.SiteGuid = siteSettings.SiteGuid;
            //userLocation.Hostname = Page.Request.UserHostName;
            //userLocation.Save();

            UserRegisteredEventArgs u = new UserRegisteredEventArgs(newUser);

            OnUserRegistered(u);

            CacheHelper.ClearMembershipStatisticsCache();

            return(newUser);
        }