Ejemplo n.º 1
0
        /// <summary>
        /// Validate that a password meets a maximum length. See
        /// https://cheatsheetseries.owasp.org/cheatsheets/Authentication_Cheat_Sheet.html#implement-proper-password-strength-controls
        /// for up to date information on best practice password lengths.
        /// </summary>
        /// <param name="maxLength">
        /// The inclusive maximum length that the password should be. Must be between 6 and 2048
        /// characters.
        /// </param>
        public static IPasswordPolicyBuilder ValidateMaxLength(this IPasswordPolicyBuilder builder, int maxLength)
        {
            builder
            .AddValidatorWithConfig <MaxLengthNewPasswordValidator, int>(maxLength)
            .AddAttribute(PasswordPolicyAttributes.MaxLength, maxLength);

            return(builder);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Prevents groups of repeated characters in a password by validating that a minimum number of
        /// unique characters e.g. the password "YYZ-YYZ-YYZ" contains 3 unique characters.
        /// </summary>
        /// <param name="minUniqueCharacters">
        /// The inclusive minimum number of unique characters to allow e.g. if the minimum was 4 then
        /// "abcabcabcabc" would be an invalid password.
        /// </param>
        public static IPasswordPolicyBuilder ValidateMinUniqueCharacters(this IPasswordPolicyBuilder builder, int minUniqueCharacters)
        {
            builder.AddValidatorWithConfig <MinUniqueCharactersNewPasswordValidator, int>(minUniqueCharacters);

            return(builder);
        }