/// <summary> /// Prepares the validator service for use analysing passwords /// </summary> /// <param name="passwordRequirements">The parameters to analyse passwords with</param> public PasswordValidatorService(IPasswordRequirements passwordRequirements) { // Prepare tests Settings = passwordRequirements; FailureMessages = new List <string>(); PasswordTests = new List <IPasswordTest> { new TestLength(passwordRequirements), new TestUnique(passwordRequirements), new TestRepeat(passwordRequirements), new TestPattern(passwordRequirements), new TestDigit(passwordRequirements), new TestLowercase(passwordRequirements), new TestUppercase(passwordRequirements), new TestPunctuation(passwordRequirements) }; // Load lists LoadBadLists(); }
/// <summary> /// Prepares test for use and allows using custom pattern /// </summary> /// <param name="passwordRequirements">Object containing current settings</param> /// <param name="map">An optional custom pattern mapping to check</param> public TestPattern(IPasswordRequirements passwordRequirements, List <PatternMapItem> map = null) { Settings = passwordRequirements; PatternMap = map ?? PatternMapService.QwertyMap; }
public TestUnique(IPasswordRequirements passwordRequirements) { Settings = passwordRequirements; }
/// <summary> /// Prepares test for use /// </summary> /// <param name="passwordRequirements">Object containing current settings</param> public TestLowercase(IPasswordRequirements passwordRequirements) { Settings = passwordRequirements; }
public TestDigit(IPasswordRequirements passwordRequirements) { Settings = passwordRequirements; }
public TestLength(IPasswordRequirements passwordRequirements) { Settings = passwordRequirements; }
/// <summary> /// Prepares test for use /// </summary> /// <param name="passwordRequirements">Object containing current settings</param> public TestRepeat(IPasswordRequirements passwordRequirements) { Settings = passwordRequirements; }
public TestPunctuation(IPasswordRequirements passwordRequirements) { Settings = passwordRequirements; }
/// <summary> /// Prepares test for use /// </summary> /// <param name="passwordRequirements">Object containing current settings</param> public TestEntropy(IPasswordRequirements passwordRequirements) { Settings = passwordRequirements; }