using Microsoft.Extensions.Configuration; using Umbraco.Core.Configuration; namespace Umbraco.Configuration.Models { internal class UserPasswordConfigurationSettings : IUserPasswordConfiguration { private readonly IConfiguration _configuration; public UserPasswordConfigurationSettings(IConfiguration configuration) { _configuration = configuration; } public int RequiredLength => _configuration.GetValue("Umbraco:CMS:Security:UserPassword:RequiredLength", 10); public bool RequireNonLetterOrDigit => _configuration.GetValue("Umbraco:CMS:Security:UserPassword:RequireNonLetterOrDigit", false); public bool RequireDigit => _configuration.GetValue("Umbraco:CMS:Security:UserPassword:RequireDigit", false); public bool RequireLowercase => _configuration.GetValue("Umbraco:CMS:Security:UserPassword:RequireLowercase", false); public bool RequireUppercase => _configuration.GetValue("Umbraco:CMS:Security:UserPassword:RequireUppercase", false); public bool UseLegacyEncoding => _configuration.GetValue("Umbraco:CMS:Security:UserPassword:UseLegacyEncoding", false); public string HashAlgorithmType => _configuration.GetValue("Umbraco:CMS:Security:UserPassword:HashAlgorithmType", "HMACSHA256"); public int MaxFailedAccessAttemptsBeforeLockout => _configuration.GetValue("Umbraco:CMS:Security:UserPassword:MaxFailedAccessAttemptsBeforeLockout", 5); } }