Search in sources :

Example 11 with MotechUserProfile

use of org.motechproject.security.domain.MotechUserProfile in project motech by motech.

the class UserControllerTest method users.

private List<MotechUserProfile> users() {
    MotechUser user = new MotechUser("john", "pass", "john@doe.com", "ext", asList("role1", "role2"), null, Locale.ENGLISH);
    MotechUserProfile profile1 = new MotechUserProfile(user);
    user = new MotechUser("Bob", "pass2", "bob@example.com", "ext2", Collections.<String>emptyList(), null, Locale.GERMAN);
    MotechUserProfile profile2 = new MotechUserProfile(user);
    return asList(profile1, profile2);
}
Also used : MotechUser(org.motechproject.security.domain.MotechUser) MotechUserProfile(org.motechproject.security.domain.MotechUserProfile)

Example 12 with MotechUserProfile

use of org.motechproject.security.domain.MotechUserProfile in project motech by motech.

the class ResetController method changePassword.

@RequestMapping(value = "/changepassword", method = RequestMethod.POST)
@ResponseBody
public ChangePasswordViewData changePassword(@RequestBody ChangePasswordForm form) {
    ChangePasswordViewData viewData = new ChangePasswordViewData(form);
    ChangePasswordFormValidator validator = new ChangePasswordFormValidator();
    List<String> errors = validator.validate(form);
    if (!errors.isEmpty()) {
        viewData.setErrors(errors);
    } else {
        try {
            MotechUserProfile profile = motechUserService.changeExpiredPassword(form.getUsername(), form.getOldPassword(), form.getPassword());
            if (profile != null) {
                viewData.setChangeSucceded(true);
            } else {
                viewData.getErrors().add("server.reset.wrongPassword");
            }
        } catch (PasswordValidatorException e) {
            viewData.getErrors().add(e.getMessage());
        } catch (LockedException e) {
            viewData.setUserBlocked(true);
        }
    }
    viewData.getChangePasswordForm().resetPasswordsAndUserName();
    return viewData;
}
Also used : ChangePasswordFormValidator(org.motechproject.server.web.validator.ChangePasswordFormValidator) MotechUserProfile(org.motechproject.security.domain.MotechUserProfile) LockedException(org.springframework.security.authentication.LockedException) PasswordValidatorException(org.motechproject.security.exception.PasswordValidatorException) ChangePasswordViewData(org.motechproject.server.web.dto.ChangePasswordViewData) RequestMapping(org.springframework.web.bind.annotation.RequestMapping) ResponseBody(org.springframework.web.bind.annotation.ResponseBody)

Aggregations

MotechUserProfile (org.motechproject.security.domain.MotechUserProfile)12 MotechUser (org.motechproject.security.domain.MotechUser)8 Test (org.junit.Test)5 ArrayList (java.util.ArrayList)3 ConfigAttribute (org.springframework.security.access.ConfigAttribute)3 UsernamePasswordAuthenticationToken (org.springframework.security.authentication.UsernamePasswordAuthenticationToken)3 Transactional (org.springframework.transaction.annotation.Transactional)3 UserDto (org.motechproject.security.model.UserDto)2 SecurityConfig (org.springframework.security.access.SecurityConfig)2 Predicate (org.apache.commons.collections.Predicate)1 PasswordValidatorException (org.motechproject.security.exception.PasswordValidatorException)1 ChangePasswordViewData (org.motechproject.server.web.dto.ChangePasswordViewData)1 ChangePasswordFormValidator (org.motechproject.server.web.validator.ChangePasswordFormValidator)1 LockedException (org.springframework.security.authentication.LockedException)1 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)1 ResponseBody (org.springframework.web.bind.annotation.ResponseBody)1