Пример #1
0
  public void testAddAndRemoveUser() throws Exception {
    user = new User();

    // call populate method in super class to populate test data
    // from a properties file matching this class name
    user = (User) populate(user);

    user.addRole(roleManager.getRole(Constants.USER_ROLE));

    user = mgr.saveUser(user);
    assertEquals("john", user.getUsername());
    assertEquals(1, user.getRoles().size());

    log.debug("removing user...");

    mgr.removeUser(user.getId().toString());

    try {
      user = mgr.getUserByUsername("john");
      fail("Expected 'Exception' not thrown");
    } catch (Exception e) {
      log.debug(e);
      assertNotNull(e);
    }
  }
Пример #2
0
  public void testGetUser() throws Exception {
    user = mgr.getUserByUsername("user");
    assertNotNull(user);

    log.debug(user);
    assertEquals(1, user.getRoles().size());
  }
Пример #3
0
  public void testSaveUser() throws Exception {
    user = mgr.getUserByUsername("user");
    user.setPhoneNumber("303-555-1212");

    log.debug("saving user with updated phone number: " + user);

    user = mgr.saveUser(user);
    assertEquals("303-555-1212", user.getPhoneNumber());
    assertEquals(1, user.getRoles().size());
  }
Пример #4
0
  private boolean validateKey(String key) {

    // If user loged in invalidate session first
    FacesContext ctx = FacesContext.getCurrentInstance();
    HttpServletRequest req = (HttpServletRequest) ctx.getExternalContext().getRequest();

    /*
    if (req.getRemoteUser() != null) {
      HttpSession session = (HttpSession) ctx.getExternalContext().getSession(
              false);

      if (null != session) {
        session.invalidate();
        return false;
      }
    } */

    Users user = mgr.getUserByUsername(username);

    if (user.getStatus() != PeopleAccountStatus.ACCOUNT_VERIFICATION.getValue()) {
      am.registerAccountChange(
          user,
          AccountsAuditActions.REGISTRATION.name(),
          AccountsAuditActions.FAILED.name(),
          "Could not verify the account due to wrnong status.",
          user);

      return false;
    }

    if (key.equals(user.getValidationKey())) {
      if (user.getMode() == PeopleAccountStatus.YUBIKEY_USER.getValue()) {

        mgr.changeAccountStatus(
            user.getUid(), "", PeopleAccountStatus.YUBIKEY_ACCOUNT_INACTIVE.getValue());

      } else if (user.getMode() == PeopleAccountStatus.MOBILE_USER.getValue()) {

        mgr.changeAccountStatus(
            user.getUid(), "", PeopleAccountStatus.MOBILE_ACCOUNT_INACTIVE.getValue());
      }

      am.registerAccountChange(
          user,
          AccountsAuditActions.REGISTRATION.name(),
          AccountsAuditActions.SUCCESS.name(),
          "Verified account email address.",
          user);

      mgr.resetKey(user.getUid());
      return true;
    }

    int val = user.getFalseLogin();
    mgr.increaseLockNum(user.getUid(), val + 1);

    if (val > AuthenticationConstants.ALLOWED_FALSE_LOGINS) {
      mgr.changeAccountStatus(
          user.getUid(), "SPAM Acccount", PeopleAccountStatus.SPAM_ACCOUNT.getValue());
      mgr.resetKey(user.getUid());
      mgr.resetKey(user.getUid());
      am.registerAccountChange(
          user,
          AccountsAuditActions.REGISTRATION.name(),
          AccountsAuditActions.FAILED.name(),
          "Too many false activation attemps.",
          user);
    }

    return false;
  }