use of password.pwm.config.option.ApplicationPage in project pwm by pwm-project.
the class CaptchaUtility method captchaEnabledForRequest.
public static boolean captchaEnabledForRequest(final PwmRequest pwmRequest) throws PwmUnrecoverableException {
if (!checkIfCaptchaConfigEnabled(pwmRequest)) {
return false;
}
if (checkIfCaptchaParamPresent(pwmRequest)) {
return false;
}
if (checkRequestForCaptchaSkipCookie(pwmRequest)) {
return false;
}
if (!checkIntruderCount(pwmRequest)) {
return false;
}
final Set<ApplicationPage> protectedModules = pwmRequest.getConfig().readSettingAsOptionList(PwmSetting.CAPTCHA_PROTECTED_PAGES, ApplicationPage.class);
final PwmURL pwmURL = pwmRequest.getURL();
boolean enabled = false;
if (protectedModules != null) {
if (protectedModules.contains(ApplicationPage.LOGIN) && pwmURL.isLoginServlet()) {
enabled = true;
} else if (protectedModules.contains(ApplicationPage.FORGOTTEN_PASSWORD) && pwmURL.isForgottenPasswordServlet()) {
enabled = true;
} else if (protectedModules.contains(ApplicationPage.FORGOTTEN_USERNAME) && pwmURL.isForgottenUsernameServlet()) {
enabled = true;
} else if (protectedModules.contains(ApplicationPage.USER_ACTIVATION) && pwmURL.isUserActivationServlet()) {
enabled = true;
} else if (protectedModules.contains(ApplicationPage.NEW_USER_REGISTRATION) && pwmURL.isNewUserRegistrationServlet()) {
enabled = true;
}
}
return enabled;
}
Aggregations