From 59bc1052e8f781736dbfa568f731cc1b52510d41 Mon Sep 17 00:00:00 2001 From: Wild-Queue Date: Sun, 9 Feb 2025 18:59:57 +0300 Subject: [PATCH] e.shalagin RQ-3 --- PasswordLockoutRequirement.java | 33 ++++++++++++++++++++++++++++++++ PasswordMinimumLength.java | 3 --- PasswordPolicy.java | 3 --- Research Questions 3.pdf | Bin 0 -> 30957 bytes 4 files changed, 33 insertions(+), 6 deletions(-) create mode 100644 PasswordLockoutRequirement.java create mode 100644 Research Questions 3.pdf diff --git a/PasswordLockoutRequirement.java b/PasswordLockoutRequirement.java new file mode 100644 index 0000000..3067bea --- /dev/null +++ b/PasswordLockoutRequirement.java @@ -0,0 +1,33 @@ +import java.util.HashMap; +import java.util.Map; + +public class PasswordLockoutRequirement extends Requirement { + private static final int MAX_FAILED_ATTEMPTS = 5; + private final String username; + private static final Map failedAttempts = new HashMap<>(); + + public PasswordLockoutRequirement(String username) { + this.username = username; + } + + public void recordFailedAttempt() { + failedAttempts.put(username, failedAttempts.getOrDefault(username, 0) + 1); + } + + public void resetFailedAttempts() { + failedAttempts.put(username, 0); + } + + @Override + public CheckStatus check() { + int attempts = failedAttempts.getOrDefault(username, 0); + + if (attempts >= MAX_FAILED_ATTEMPTS) { + System.out.println("Account is locked due to too many failed login attempts."); + return CheckStatus.FAIL; + } else { + System.out.println("Account is not locked. Failed attempts: " + attempts); + return CheckStatus.PASS; + } + } +} diff --git a/PasswordMinimumLength.java b/PasswordMinimumLength.java index e3262ca..278928f 100644 --- a/PasswordMinimumLength.java +++ b/PasswordMinimumLength.java @@ -1,6 +1,3 @@ - -import rqcode.concepts.Requirement; - public class PasswordMinimumLength extends Requirement { private static final int MIN_LENGTH = 8; private static final int MAX_LENGTH = 64; diff --git a/PasswordPolicy.java b/PasswordPolicy.java index 251ba3b..d257ee1 100644 --- a/PasswordPolicy.java +++ b/PasswordPolicy.java @@ -1,6 +1,3 @@ -package rqcode.tutorial.tutorial_new; -import rqcode.concepts.CombinedRequirements; -import rqcode.concepts.Requirement; import java.util.Arrays; import java.util.List; diff --git a/Research Questions 3.pdf b/Research Questions 3.pdf new file mode 100644 index 0000000000000000000000000000000000000000..287901fe92f81b6ea3c9fe55eed8384b5f887199 GIT binary patch literal 30957 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