Search in sources :

Example 1 with ApplicationPage

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;
}
Also used : ApplicationPage(password.pwm.config.option.ApplicationPage) PwmURL(password.pwm.http.PwmURL)

Aggregations

ApplicationPage (password.pwm.config.option.ApplicationPage)1 PwmURL (password.pwm.http.PwmURL)1