/// <summary>
        /// Creates a new instance of the class and configures its internals.
        /// </summary>
        /// <param name="medioClinicUserStore">User store passed onto the base class.</param>
        public KenticoUserManager(IKenticoUserStore kenticoUserStore) : base(kenticoUserStore)
        {
            PasswordValidator = new PasswordValidator
            {
                RequireDigit            = true,
                RequiredLength          = 8,
                RequireLowercase        = true,
                RequireNonLetterOrDigit = true,
                RequireUppercase        = true
            };

            UserLockoutEnabledByDefault = false;
            EmailService = new EmailService();

            UserValidator = new UserValidator <KenticoUser, int>(this)
            {
                RequireUniqueEmail = true
            };

            // Registration: Confirmed registration
            UserTokenProvider = new EmailTokenProvider <KenticoUser, int>();
        }
 /// <summary>
 /// Creates a new instance of the class with required dependencies.
 /// </summary>
 /// <param name="siteContextService">Service that mainly provides the current site name and ID.</param>
 /// <param name="kenticoUserStore">The <see cref="Kentico.Membership.UserStore"/> wrapped in <see cref="IKenticoUserStore"/>.</param>
 /// <exception cref="ArgumentNullException">Thrown when <paramref name="siteContextService"/> is <see langword="null"/>.</exception>
 /// <exception cref="ArgumentNullException">Thrown when <paramref name="kenticoUserStore"/> is <see langword="null"/>.</exception>
 public MedioClinicUserStore(ISiteContextService siteContextService, IKenticoUserStore kenticoUserStore)
 {
     SiteContextService = siteContextService ?? throw new ArgumentNullException(nameof(siteContextService));
     KenticoUserStore   = kenticoUserStore ?? throw new ArgumentNullException(nameof(kenticoUserStore));
 }