Example #1
0
        public ActionResult Settings(AdminSettingsViewModel adminSettingsViewModel)
        {
            adminSettingsViewModel.BlogThemes = GetAvailableThemes(adminSettingsViewModel.BlogTheme);

            if (ModelState.IsValid && ValidateAkismetSettings(adminSettingsViewModel))
            {
                SettingsRepository.BlogName               = adminSettingsViewModel.BlogName;
                SettingsRepository.BlogCaption            = adminSettingsViewModel.BlogCaption;
                SettingsRepository.BlogTheme              = adminSettingsViewModel.BlogTheme;
                SettingsRepository.BlogSocialSharing      = adminSettingsViewModel.BlogSocialSharing;
                SettingsRepository.BlogSyntaxHighlighting = adminSettingsViewModel.BlogSyntaxHighlighting;
                SettingsRepository.BlogPostsPerPage       = adminSettingsViewModel.PostsPerPage;
                SettingsRepository.BlogAkismetEnabled     = adminSettingsViewModel.AkismetEnabled;
                SettingsRepository.BlogAkismetDeleteSpam  = adminSettingsViewModel.AkismetDeleteSpam;
                SettingsRepository.BlogAkismetKey         = adminSettingsViewModel.AkismetKey;
                SettingsRepository.BlogAkismetUrl         = adminSettingsViewModel.AkismetUrl;
                SettingsRepository.BlogAdminEmailAddress  = adminSettingsViewModel.AdminEmailAddress;
                SettingsRepository.BlogSmtpAddress        = adminSettingsViewModel.BlogSmtpAddress;

                if (!string.IsNullOrEmpty(adminSettingsViewModel.BlogSmtpPassword))
                {
                    SettingsRepository.BlogSmtpPassword = TripleDES.EncryptString(adminSettingsViewModel.BlogSmtpPassword);
                }

                SettingsRepository.ManageItemsPerPage       = adminSettingsViewModel.ManageItemsPerPage;
                SettingsRepository.BlogSiteErrorEmailAction = adminSettingsViewModel.BlogErrorAction;
                SettingsRepository.DisqusEnabled            = adminSettingsViewModel.DisqusEnabled;
                SettingsRepository.BlogDisqusShortName      = adminSettingsViewModel.DisqusShortName;
            }

            adminSettingsViewModel.UpdateStatus = true;
            adminSettingsViewModel.Title        = SettingsRepository.BlogName;

            return(View(adminSettingsViewModel));
        }
Example #2
0
        private void UpdatePassword(SetupDefaultParametersViewModel setupDefaultParametersViewModel)
        {
            var randomCode = RandomStringGenerator.RandomString();
            var userEntity = new UserEntity
            {
                UserID   = 1,
                Password = PasswordHelper.GenerateHashedPassword(setupDefaultParametersViewModel.Password, randomCode),
                UserCode = TripleDES.EncryptString(randomCode)
            };

            _userRepository.UpdateUser(userEntity);
        }
        /// <summary>
        /// Adds a new membership user to the data source.
        /// </summary>
        /// <returns>
        /// A <see cref="T:System.Web.Security.MembershipUser"/> object populated with the information for the newly created user.
        /// </returns>
        /// <param name="username">The user name for the new user. </param><param name="password">The password for the new user. </param><param name="email">The e-mail address for the new user.</param><param name="passwordQuestion">The password question for the new user.</param><param name="passwordAnswer">The password answer for the new user</param><param name="isApproved">Whether or not the new user is approved to be validated.</param><param name="providerUserKey">The unique identifier from the membership data source for the user.</param><param name="status">A <see cref="T:System.Web.Security.MembershipCreateStatus"/> enumeration value indicating whether the user was created successfully.</param>
        public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status)
        {
            var args = new ValidatePasswordEventArgs(username, password, true);

            OnValidatingPassword(args);

            if (args.Cancel)
            {
                status = MembershipCreateStatus.InvalidPassword;
                return(null);
            }


            var user     = _context.users.Where(x => x.email == email).FirstOrDefault();
            var userName = (user != null && user.username != string.Empty) ? user.username : string.Empty;

            if (RequiresUniqueEmail && userName != string.Empty)
            {
                status = MembershipCreateStatus.DuplicateEmail;
                return(null);
            }

            var duplicateUser = _context.users.Where(x => x.username == username).FirstOrDefault();

            if (user == null && duplicateUser == null)
            {
                var randomCode = RandomStringGenerator.RandomString();
                var userObj    = new user
                {
                    username     = username,
                    usercode     = TripleDES.EncryptString(randomCode),
                    password     = PasswordHelper.GenerateHashedPassword(password, randomCode),
                    email        = email,
                    activestatus = true
                };

                _context.users.InsertOnSubmit(userObj);
                _context.SubmitChanges();



                status = MembershipCreateStatus.Success;

                return(GetUser(username, true));
            }
            status = MembershipCreateStatus.DuplicateUserName;

            return(null);
        }
Example #4
0
        /// <summary>
        /// Adds a new membership user to the data source.
        /// </summary>
        /// <returns>
        /// A <see cref="T:System.Web.Security.MembershipUser"/> object populated with the information for the newly created user.
        /// </returns>
        /// <param name="username">The user name for the new user. </param><param name="password">The password for the new user. </param><param name="email">The e-mail address for the new user.</param><param name="passwordQuestion">The password question for the new user.</param><param name="passwordAnswer">The password answer for the new user</param><param name="isApproved">Whether or not the new user is approved to be validated.</param><param name="providerUserKey">The unique identifier from the membership data source for the user.</param><param name="status">A <see cref="T:System.Web.Security.MembershipCreateStatus"/> enumeration value indicating whether the user was created successfully.</param>
        public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status)
        {
            var args = new ValidatePasswordEventArgs(username, password, true);

            OnValidatingPassword(args);

            if (args.Cancel)
            {
                status = MembershipCreateStatus.InvalidPassword;
                return(null);
            }

            var userRepository = InstanceFactory.CreateUserInstance();
            var user           = userRepository.GetUserNameByEmail(email);
            var userName       = (user != null && user.UserName != string.Empty) ? user.UserName : string.Empty;

            if (RequiresUniqueEmail && userName != string.Empty)
            {
                status = MembershipCreateStatus.DuplicateEmail;
                return(null);
            }

            var duplicateUser = userRepository.GetUserObjByUserName(username);

            if (user != null && duplicateUser == null && user.UserName == string.Empty)
            {
                var randomCode = RandomStringGenerator.RandomString();

                var userObj = new UserEntity
                {
                    UserID           = user.UserID,
                    UserDisplayName  = user.UserDisplayName,
                    UserName         = username,
                    UserCode         = TripleDES.EncryptString(randomCode),
                    Password         = PasswordHelper.GenerateHashedPassword(password, randomCode),
                    UserEmailAddress = email,
                    UserActiveStatus = 1
                };

                userRepository.UpdateProfile(userObj);

                status = MembershipCreateStatus.Success;

                return(GetUser(username, true));
            }
            status = MembershipCreateStatus.DuplicateUserName;

            return(null);
        }
Example #5
0
        private UserEntity GetUserEntity(UpdateProfileModel model)
        {
            var userEntity = new UserEntity
            {
                UserID           = GetUserId(),
                UserDisplayName  = model.UserDisplayName,
                UserEmailAddress = model.UserEmailAddress,
                UserSite         = model.UserSite
            };

            if (!string.IsNullOrEmpty(model.NewPassword) && !string.IsNullOrEmpty(model.ConfirmPassword))
            {
                var randomCode = RandomStringGenerator.RandomString();
                userEntity.Password = PasswordHelper.GenerateHashedPassword(model.NewPassword, randomCode);
                userEntity.UserCode = TripleDES.EncryptString(randomCode);
            }

            return(userEntity);
        }
Example #6
0
        public ActionResult ResetPassword(ResetPasswordModel model, string ticket)
        {
            if (string.IsNullOrEmpty(ticket))
            {
                return(RedirectToRoute("Default"));
            }

            if (ModelState.IsValid)
            {
                var randomCode     = RandomStringGenerator.RandomString();
                var encCode        = TripleDES.EncryptString(randomCode);
                var hashedPassword = PasswordHelper.GenerateHashedPassword(model.Password, randomCode);
                if (_userRepository.ResetPassword(model.EmailAddress, model.VerificationCode, hashedPassword, encCode))
                {
                    return(RedirectToRoute("AdminIndex"));
                }
                ModelState.AddModelError("__FORM", "unable to reset your password");
            }

            model.Title = SettingsRepository.BlogName;
            return(View(model));
        }