Search in sources :

Example 6 with CaptchaPanel

use of com.evolveum.midpoint.gui.api.component.captcha.CaptchaPanel in project midpoint by Evolveum.

the class PageAbstractFlow method validateCaptcha.

private boolean validateCaptcha(AjaxRequestTarget target) {
    String value = System.getProperty(MidpointConfiguration.MIDPOINT_SCHRODINGER_PROPERTY);
    boolean isSchrodingerTesting = Boolean.parseBoolean(value);
    if (isSchrodingerTesting) {
        LOGGER.trace("Skipping CAPTCHA Validation, because system variable (midpoint.schrodinget) for schrodinger testing is TRUE");
        return true;
    }
    CaptchaPanel captcha = getCaptcha();
    if (captcha.getRandomText() == null) {
        String message = createStringResource("PageSelfRegistration.captcha.validation.failed").getString();
        LOGGER.error(message);
        getSession().error(message);
        target.add(getFeedbackPanel());
        updateCaptcha(target);
        return false;
    }
    if (captcha.getCaptchaText() != null && captcha.getRandomText() != null) {
        if (!captcha.getCaptchaText().equals(captcha.getRandomText())) {
            String message = createStringResource("PageSelfRegistration.captcha.validation.failed").getString();
            LOGGER.error(message);
            getSession().error(message);
            updateCaptcha(target);
            target.add(getFeedbackPanel());
            return false;
        }
    }
    LOGGER.trace("CAPTCHA Validation OK");
    return true;
}
Also used : CaptchaPanel(com.evolveum.midpoint.gui.api.component.captcha.CaptchaPanel)

Aggregations

CaptchaPanel (com.evolveum.midpoint.gui.api.component.captcha.CaptchaPanel)6 AjaxButton (com.evolveum.midpoint.web.component.AjaxButton)2 AjaxSubmitButton (com.evolveum.midpoint.web.component.AjaxSubmitButton)2 Form (com.evolveum.midpoint.web.component.form.Form)2 VisibleEnableBehaviour (com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour)2 AjaxRequestTarget (org.apache.wicket.ajax.AjaxRequestTarget)2 MultiLineLabel (org.apache.wicket.markup.html.basic.MultiLineLabel)1 Fragment (org.apache.wicket.markup.html.panel.Fragment)1