Search in sources :

Example 61 with FormConfiguration

use of password.pwm.config.value.data.FormConfiguration in project pwm by pwm-project.

the class GuestRegistrationServlet method checkConfiguration.

private static void checkConfiguration(final Configuration configuration) throws PwmUnrecoverableException {
    final String namingAttribute = configuration.getDefaultLdapProfile().readSettingAsString(PwmSetting.LDAP_NAMING_ATTRIBUTE);
    final List<FormConfiguration> formItems = configuration.readSettingAsForm(PwmSetting.GUEST_FORM);
    {
        boolean namingIsInForm = false;
        for (final FormConfiguration formItem : formItems) {
            if (namingAttribute.equalsIgnoreCase(formItem.getName())) {
                namingIsInForm = true;
            }
        }
        if (!namingIsInForm) {
            final String errorMsg = "ldap naming attribute '" + namingAttribute + "' is not in form configuration, but is required";
            final ErrorInformation errorInformation = new ErrorInformation(PwmError.ERROR_INVALID_CONFIG, errorMsg, new String[] { namingAttribute });
            throw new PwmUnrecoverableException(errorInformation);
        }
    }
}
Also used : ErrorInformation(password.pwm.error.ErrorInformation) FormConfiguration(password.pwm.config.value.data.FormConfiguration) PwmUnrecoverableException(password.pwm.error.PwmUnrecoverableException)

Example 62 with FormConfiguration

use of password.pwm.config.value.data.FormConfiguration in project pwm by pwm-project.

the class GuestRegistrationServlet method forwardToUpdateJSP.

private void forwardToUpdateJSP(final PwmRequest pwmRequest, final GuestRegistrationBean guestRegistrationBean) throws IOException, ServletException, PwmUnrecoverableException {
    calculateFutureDateFlags(pwmRequest, guestRegistrationBean);
    final List<FormConfiguration> guestUpdateForm = pwmRequest.getConfig().readSettingAsForm(PwmSetting.GUEST_UPDATE_FORM);
    final Map<FormConfiguration, String> formValueMap = new LinkedHashMap<>();
    for (final FormConfiguration formConfiguration : guestUpdateForm) {
        final String value = guestRegistrationBean.getFormValues().get(formConfiguration.getName());
        formValueMap.put(formConfiguration, value);
    }
    pwmRequest.addFormInfoToRequestAttr(guestUpdateForm, formValueMap, false, false);
    pwmRequest.forwardToJsp(JspUrl.GUEST_UPDATE);
}
Also used : FormConfiguration(password.pwm.config.value.data.FormConfiguration) LinkedHashMap(java.util.LinkedHashMap)

Example 63 with FormConfiguration

use of password.pwm.config.value.data.FormConfiguration in project pwm by pwm-project.

the class ChangePasswordServletUtil method validateParamsAgainstLDAP.

static void validateParamsAgainstLDAP(final Map<FormConfiguration, String> formValues, final PwmSession pwmSession, final ChaiUser theUser) throws ChaiUnavailableException, PwmDataValidationException {
    for (final Map.Entry<FormConfiguration, String> entry : formValues.entrySet()) {
        final FormConfiguration formItem = entry.getKey();
        final String attrName = formItem.getName();
        final String value = entry.getValue();
        try {
            if (!theUser.compareStringAttribute(attrName, value)) {
                final String errorMsg = "incorrect value for '" + attrName + "'";
                final ErrorInformation errorInfo = new ErrorInformation(PwmError.ERROR_INCORRECT_RESPONSE, errorMsg, new String[] { attrName });
                LOGGER.debug(pwmSession, errorInfo.toDebugStr());
                throw new PwmDataValidationException(errorInfo);
            }
            LOGGER.trace(pwmSession, "successful validation of ldap value for '" + attrName + "'");
        } catch (ChaiOperationException e) {
            LOGGER.error(pwmSession, "error during param validation of '" + attrName + "', error: " + e.getMessage());
            throw new PwmDataValidationException(new ErrorInformation(PwmError.ERROR_INCORRECT_RESPONSE, "ldap error testing value for '" + attrName + "'", new String[] { attrName }));
        }
    }
}
Also used : ErrorInformation(password.pwm.error.ErrorInformation) PwmDataValidationException(password.pwm.error.PwmDataValidationException) FormConfiguration(password.pwm.config.value.data.FormConfiguration) ChaiOperationException(com.novell.ldapchai.exception.ChaiOperationException) Map(java.util.Map)

Aggregations

FormConfiguration (password.pwm.config.value.data.FormConfiguration)63 LinkedHashMap (java.util.LinkedHashMap)26 ErrorInformation (password.pwm.error.ErrorInformation)23 Map (java.util.Map)19 PwmUnrecoverableException (password.pwm.error.PwmUnrecoverableException)15 ArrayList (java.util.ArrayList)14 HashMap (java.util.HashMap)14 PwmOperationalException (password.pwm.error.PwmOperationalException)14 List (java.util.List)13 UserIdentity (password.pwm.bean.UserIdentity)13 PwmApplication (password.pwm.PwmApplication)11 UserInfo (password.pwm.ldap.UserInfo)10 ChaiUser (com.novell.ldapchai.ChaiUser)9 Locale (java.util.Locale)9 PwmSession (password.pwm.http.PwmSession)9 SearchConfiguration (password.pwm.ldap.search.SearchConfiguration)9 ChaiOperationException (com.novell.ldapchai.exception.ChaiOperationException)8 Configuration (password.pwm.config.Configuration)7 PwmDataValidationException (password.pwm.error.PwmDataValidationException)7 UserSearchEngine (password.pwm.ldap.search.UserSearchEngine)7