Examples of LoginAnswer


Examples of org.openqreg.bean.LoginAnswer

  public Response fetch(@QueryParam("userId") String userId,
      @QueryParam("userToken") String token,
      @PathParam("widgetId") String widgetId, AjaxWidgetRequest awr) {
    RestWrapper rw = new RestWrapper();
    // check that user is logged in etc...
    LoginAnswer la = Dispatcher.getInstance().isActive(userId, token);

    // not active user
    if (!LoginAnswer.ACTIVE.equals(la.getStatus())) {
      rw.setLinks(unAuthorizedLinks);
      return Response.status(Response.Status.UNAUTHORIZED).entity(rw)
          .build();
    }

    // no access to service
    //TODO change to real service
    if (!Dispatcher.getInstance().checkAccess(userId, "GUISETTING_STORE")) {
      rw.setLinks(unAuthorizedLinks);
      return Response.status(Response.Status.FORBIDDEN).entity(rw)
          .build();
    }
   
   
    User user = Dispatcher.getInstance().getUser(la.getUserId());
    AjaxWidgetAnswer awa = new AjaxWidgetAnswer();
    // add default answer text, listboxtexts, guisettings, containers
    try {
      addDefaultAnswer(user, awr, awa);
    } catch (SQLException e) {
View Full Code Here

Examples of org.openqreg.bean.LoginAnswer

   *
   * @param userId
   * @return
   */
  protected LoginAnswer userOk(String userId) {
    LoginAnswer answer = createLoginAnswer();
    answer.setUserId(userId);

    if (StringUtils.isBlank(userId)) {
      // there is no userid in the request
      answer.setUserId("");
      answer.setStatus(LoginAnswer.INACTIVE);
      answer.setInfo("no userId");
      return answer;

    }
    if (!currentUsers.containsKey(userId)) {
      // user not logged in
      answer.setStatus(LoginAnswer.INACTIVE);
      answer.setInfo("user not loged in");
      return answer;
    }
    if (!systemIsUp()
        && (currentUsers.containsKey(userId) && !currentUsers
            .get(userId).getGroupid().equals("SYSTEM"))) {
      // checks that the system is up
      answer.setStatus(LoginAnswer.SYSTEM_IS_DOWN);
      answer.setFetch(currentUsers.get(userId).getFetch());
      answer.setInfo("system is down due to passed shutDownTime");
      return answer;
    }
    if (!this.checkUser(userId)) {
      // checks that the user is active eg group, centre, country
      answer.setStatus(LoginAnswer.DEACTIVATED);
      answer.setFetch(currentUsers.get(userId).getFetch());
      answer.setInfo("user deactivated by user, group, centre or country");
      return answer;
    }
    // user is ok
    return null;
  }
View Full Code Here

Examples of org.openqreg.bean.LoginAnswer

    // needed to prevent problems when user enters username as 'userid '
    if (null != userId) {
      userId = userId.trim();
    }

    LoginAnswer answer = null;
    // get userid from request
    // String userId = req.getParameter("USERID");
    // needed to prevent problems when user enters username as 'userid '
    if (null != userId) {
      userId = userId.trim();
    }

    // userid, loggedin, user group centre country active, system up
    answer = userOk(req, userId);
    if (null != answer) {
      answer.setFetch(fetch);
      // log to accessLog
      this.logToAccessLog(req, answer, "isNotActive");
      return answer;
    }

    // userOK
    answer = createLoginAnswer();

    // checks if we sould show system message warning
    if (showSystemMessage(userId)) {
      answer.setShowSystemMessage(true);
    } else {
      answer.setShowSystemMessage(false);
    }

    // create answer
    answer.setUserId(userId);
    answer.setStatus(LoginAnswer.ACTIVE);
    // answer.setFetch(currentUsers.get(userId).getFetch());
    answer.setFetch(fetch);
    answer.setInfo("activity checked against users getLastActivityTimeStamp");

    // no userid in request
    // log to accessLog
    this.logToAccessLog(req, answer, "isActive");
View Full Code Here

Examples of org.openqreg.bean.LoginAnswer

    // needed to prevent problems when user enters username as 'userid '
    if (null != userId) {
      userId = userId.trim();
    }

    LoginAnswer answer = null;

    // userid, loggedin, user group centre country active, system up
    answer = userOk(userId, token);
    if (null != answer) {
      // log to accessLog
      // accessLog.log(Level.INFO, "userId: "+userId +", isNotActive");
      this.logToAccessLog(answer, "isNotActive");
//      answer.setTimeBeforeLogOut(getTimeBeforeLogOut(userId));
      answer.setTimeBeforeLogOut(Long.valueOf(-3600));
      return answer;
    }

    // userOK
    answer = createLoginAnswer();

    // checks if we sould show system message warning
    if (showSystemMessage(userId)) {
      answer.setShowSystemMessage(true);
    } else {
      answer.setShowSystemMessage(false);
    }

    // create answer
    answer.setUserId(userId);
    answer.setStatus(LoginAnswer.ACTIVE);
    answer.setTimeBeforeLogOut(getTimeBeforeLogOut(userId));
    answer.setInfo("activity checked against users getLastActivityTimeStamp");

    // log to accessLog
    this.logToAccessLog(answer, "isActive");

    return answer;
View Full Code Here

Examples of org.openqreg.bean.LoginAnswer

    // needed to prevent problems when user enters username as 'userid '
    if (null != userId) {
      userId = userId.trim();
    }

    LoginAnswer answer = null;

    // set currentPage
    String currentPage = getCurrentPage(req);
    // get frompage from user
    String fromPage = "";
    if (null != userId && null != currentUsers.get(userId)) {
      fromPage = currentUsers.get(userId).getFromPage();
      // set new frompage in user
      setFromPageInUser(userId, currentPage, fromPage);
    }

    // userid, loggedin, user group centre country active, system up
    answer = userOk(req, userId);
    if (null != answer) {
      // log to accessLog
      this.logToAccessLog(req, answer, "isActiveNormalPage");
      return answer;
    }

    // userOK
    answer = createLoginAnswer();

    // set fetch in answer
    // answer.setFetch(createFetch());
    // answer.getFetch().createTreeMap(req);
    answer.setFetch(fetch);

    // checks if we sould show system message warning
    if (showSystemMessage(userId)) {
      answer.setShowSystemMessage(true);
    } else {
      answer.setShowSystemMessage(false);
    }

    // update activitytimestamp in user....
    currentUsers.get(userId).setLastActivityTimeStamp();

    // we are not from login.jsp....
    if ((!currentUsers.get(userId).isDoneLogin())) {

      // create fetch in user
      currentUsers.get(userId).getFetch().clearTreeMap();
      currentUsers.get(userId).getFetch()
          .addTreeMap(answer.getFetch().getTreeMap());

      // we are not looping inside one page....
      if (!fromPage.equals(currentPage)) {
        // as we are from another page nothing should be
        // done.....
        answer.getFetch().removeValue("STEP");
        answer.getFetch().addValue("FROM_OTHER_PAGE", "STEP");
      }
      // we come from login.jsp
    } else {
      if (logger.isDebugEnabled()) {
        logger.log(Level.DEBUG, "isActiveNormalPage:  User:" + userId
            + " " + " FromP:" + fromPage + " CurrentP:"
            + currentPage + " LastP:"
            + currentUsers.get(userId).getLastActivePage());
      }
      // reset been to login marker in user
      currentUsers.get(userId).setDoneLogin(false);

      // we are looping inside current page from_login is
      // interesting...
      if (currentPage
          .equals(currentUsers.get(userId).getLastActivePage())) {
        answer.getFetch().addTreeMap(
            currentUsers.get(userId).getFetch().getTreeMap());
        answer.getFetch().removeValue("STEP");
        answer.getFetch().addValue("FROM_LOGIN", "STEP");
        /**
         * our original page is other than current page that we visited
         * login is not interesting, but that we are from another page
         */

      } else {
        answer.getFetch().addTreeMap(
            currentUsers.get(userId).getFetch().getTreeMap());
        answer.getFetch().removeValue("STEP");
        answer.getFetch().addValue("FROM_OTHER_PAGE", "STEP");
      }

      // end from loginjsp
    }

    // create answer
    answer.setUserId(userId);
    answer.setStatus(LoginAnswer.ACTIVE);
    answer.setInfo("activity checked against users getLastActivityTimeStamp");

    // update lastpage in user to indicate last page we have seen
    currentUsers.get(userId).setLastActivePage(currentPage);

    // log to accessLog
View Full Code Here

Examples of org.openqreg.bean.LoginAnswer

    return createLoginAnswerForAjax(userId, req);
  }

  private LoginAnswer createLoginAnswerForAjax(String userId,
      HttpServletRequest req) {
    LoginAnswer answer = createLoginAnswer();

    answer.setUserId(userId);
    // create and populate fetch in loginanswer
    FetchData fetch = new FetchData();
    fetch.createTreeMap(req);
    answer.setFetch(fetch);

    // there is a userid in the request
    // user exists in currentUsers
    // and we are using the same browser(sessionId)
    if (userId != null
        && !userId.equals("null")
        && currentUsers.containsKey(userId)
        && req.getSession().getId()
            .equals(currentUsers.get(userId).getSessionId())) {
      answer.setStatus(LoginAnswer.ACTIVE);
      answer.setInfo("user in currentUsers using same sessionId");

      // not active for interface updates
    } else {
      // create answer
      answer.setUserId("");
      answer.setStatus(LoginAnswer.INACTIVEINTERFACEUPDATE);
      answer.setInfo("no userId in request");
    }

    // log to accessLog
    this.logToAccessLog(req, answer, "isActiveForInterfaceUpdates");
View Full Code Here

Examples of org.openqreg.bean.LoginAnswer

   * Creates a new LoginAnswer. This method can be overrridden in subclasses.
   *
   * @return A LoginAnswer
   */
  protected LoginAnswer createLoginAnswer() {
    LoginAnswer la = new LoginAnswer();
    la.setMaxInactiveTime((long) getMaxInactiveTime());
    return la;
  }
View Full Code Here

Examples of org.openqreg.bean.LoginAnswer

   */
  public LoginAnswer changePassword(HttpServletRequest req) {
    try {
      // removes old users
      this.removeOldUsers();
      LoginAnswer answer = createLoginAnswer();

      String userId = req.getParameter("USERID");
      // needed to prevent problems when user enters username as 'userid '
      if (null != userId) {
        userId = userId.trim();
      }
      String passWord = req.getParameter("PASSWORD");
      String newPassWord = req.getParameter("NEWPASSWORD");

      FetchData fetch = createFetch();
      if (userId != null) {
        fetch.addValue(userId, "USERID");
        answer.setUserId(userId);
      } else {
        fetch.addValue("", "USERID");
      }
      answer.setFetch(fetch);

      String externalToken = req.getParameter("TOKEN");
      // make sure token sent from login is ok (current and the one stored
      // for this sessionId)
      if (!checkToken(req.getSession().getId(), externalToken)) {
        answer.setStatus(LoginAnswer.FAILED);
        answer.setInfo("No token");
        answer.getFetch().removeValue("PASSWORD");
        // log to accessLog
        this.logToAccessLog(req, answer, "loginUser");
        return answer;
      }

      // if we have a request not from the login.jsp or missing
      // user/password
      if (userId == null) {
        answer.setStatus(LoginAnswer.FAILED);
        answer.setInfo("No userid");
        answer.getFetch().removeValue("PASSWORD");
        // log to accessLog
        this.logToAccessLog(req, answer, "loginUser");
        return answer;
      }
      if (passWord == null) {
        answer.setStatus(LoginAnswer.FAILED);
        answer.setInfo("No password");
        answer.getFetch().removeValue("PASSWORD");
        // log to accessLog
        this.logToAccessLog(req, answer, "loginUser");
        return answer;
      }
      if (newPassWord == null) {
        answer.setStatus(LoginAnswer.FAILED);
        answer.setInfo("No new password");
        answer.getFetch().removeValue("PASSWORD");
        // log to accessLog
        this.logToAccessLog(req, answer, "loginUser");
        return answer;
      }
      User userDB = findUser(userId);

      // change password is only done for users that arent logged in
      if (currentUsers.get(userId) != null) {
        answer.setRelogin(true);
        answer.setStatus("no relogins allowed");
        // there is never any reason to return a password to the client
        answer.getFetch().removeValue("PASSWORD");
        // log to accessLog
        this.logToAccessLog(req, answer, "changePassword");
        return answer;
      }

      answer.setRelogin(false);

      // if more than our loginwaittimeout we reset logintimedoubler
      GregorianCalendar calendar = new GregorianCalendar();
      calendar.add(Calendar.MINUTE, -loginWaitTimeOut);

      if (currentFailedUsers.containsKey(userId)
          && calendar.after(currentFailedUsers.get(userId)
              .getCalendar())) {
        currentFailedUsers.remove(userId);
        if (logger.isDebugEnabled()) {
          logger.log(Level.DEBUG, "changePassword:  reset user");
        }
      }
      // if to many tries no entry
      if (currentFailedUsers.containsKey(userId)
          && currentFailedUsers.get(userId).getNoOfWrongTries() > 10) {
        answer.setStatus(LoginAnswer.FAILED);
        answer.setInfo("To many tries");
        answer.getFetch().removeValue("PASSWORD");
        // log to accessLog
        this.logToAccessLog(req, answer, "changePassword");
        return answer;
      }

      // wrong password
      if (!passy.compareHashes(passWord, userDB.getPassword())) {
        // double wait time on wrong password....
        doubleLoginWait(userId);

        // create answer
        answer.setLoginWait(currentFailedUsers.get(userId).getWait()
            .intValue());
        answer.setStatus(LoginAnswer.FAILED);
        answer.setInfo("no match for username password in db");
        answer.getFetch().removeValue("PASSWORD");
        // log to accessLog
        this.logToAccessLog(req, answer, "changePassword");
        return answer;
      }

      try {
        // if password matches.. and not equal to old
        if (userDB.getPassword() != null
            && !newPassWord.equals(passWord)) {

          // !!!!!!!!!!!!!!!!!creating new
          // user!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
          if (logger.isDebugEnabled()) {
            logger.log(Level.DEBUG,
                "changePassword() creating new user: " + userId);
          }
          this.getWriteLockUserTable();
          try {
            // populate the user
            currentUsers.put(userId, findUser(userId));
            User user = currentUsers.get(userId);
            user.setTslastlogin(new Timestamp(System
                .currentTimeMillis()));
            user.setPassword(passy.generateHash(newPassWord));
            user.setChangepassword(new Integer(0));
            user.setTspassword(new Timestamp(System
                .currentTimeMillis()));
            ((UserBean) user).store();

            user.setLastActivityTimeStamp();
            user.setSessionId(req.getSession().getId());

            // set default sortlists from the dispatchers lists
            setStandardSortOrder(user);

            // we set users donelogin to true as we have done a
            // login or relogin
            user.setFromPage("login.jsp");
            // new user should be sent to start...
            answer.setReturnToPage("start.jsp");
            user.setDoneLogin(true);
            // removes user from currentFailedUsers on
            // successfull
            // login
            if (currentFailedUsers.containsKey(userId)) {
              currentFailedUsers.remove(userId);
            }

            // create answer
            answer.setStatus("loggedin");
            answer.setInfo("new user created");
          } finally {
            this.releaseWriteLockUserTable();
          }

          if (logger.isDebugEnabled()) {
            logger.log(Level.DEBUG,
                "changePassword(): new user complete: "
                    + userId);
          }

          // same new as old password
        } else if (newPassWord.equals(passWord)) {

          answer.setStatus("password should be changed");
          answer.setInfo("same password not allowed");

        } else {
          // double wait time on wrong password....
          doubleLoginWait(userId);
        }
      } catch (Exception e) {
        logger.log(Level.ERROR,
            "changePassword() error in creating user:", e);
      }

      // there is never any reason to return a password to the client
      answer.getFetch().removeValue("PASSWORD");
      // log to accessLog
      this.logToAccessLog(req, answer, "changePassword");
      return answer;

    } catch (Exception e) {
      logger.log(Level.ERROR, "loginUser() error in creating user:", e);
      // creating answer
      LoginAnswer answer = new LoginAnswer();
      answer.setStatus(LoginAnswer.FAILED);
      answer.setInfo("error in loginUser");
      answer.setFetch(new FetchData());
      // log to accessLog
      this.logToAccessLog(req, answer, "loginUser");
      return answer;
    }
  }
View Full Code Here

Examples of org.openqreg.bean.LoginAnswer

  public LoginAnswer logOutUser(String userId, String token) {
    return loginHandler.logOutUser(userId, token);
  }

  public LoginAnswer LockUser(String userId, String token) {
    LoginAnswer la = isActive(userId, token);
    if (LoginAnswer.INACTIVE.equals(la.getStatus())) {
      return la;
    }
    User u = getUser(userId);
    GregorianCalendar gc = new GregorianCalendar();
//    gc.add(Calendar.YEAR, -10);
    gc.add(Calendar.MINUTE, -10000);
    u.setLastActivityTimeStamp(Converter.GCToSqlDate(gc));
    // return new
    // Long((Dispatcher.getInstance()).getTimeBeforeLogOut(userId));

    la = new LoginAnswer();
    la.setUserId(userId);
    la.setStatus(LoginAnswer.INACTIVE);
    la.setInfo("User locked");
    la.setTimeBeforeLogOut(getTimeBeforeLogOut(userId));
    return la;
  }
View Full Code Here

Examples of org.openqreg.bean.LoginAnswer

    // needed to prevent problems when user enters username as 'userid '
    if (null != userId) {
      userId = userId.trim();
    }

    LoginAnswer answer = null;
    // get userid from request

    // set currentPage
    String currentPage = getCurrentPage(req);
    // get frompage from user
    String fromPage = "";
    if (null != userId && null != currentUsers.get(userId)) {
      fromPage = currentUsers.get(userId).getFromPage();
      // set new frompage in user
      setFromPageInUser(userId, currentPage, fromPage);
    }

    // userid, loggedin, user group centre country active, system up
    answer = userOk(req, userId);
    if (null != answer) {
      answer.setFetch(fetch);
      // log to accessLog
      this.logToAccessLog(req, answer, "isActiveReportPage");
      return answer;
    }

    answer = createLoginAnswer();
    // checks if we sould show system message warning
    answer.setShowSystemMessage(showSystemMessage(userId));

    // userOk

    // update activitytimestamp in user....
    currentUsers.get(userId).setLastActivityTimeStamp();

    // we are not from login.jsp....
    if ((!currentUsers.get(userId).isDoneLogin())) {

      // we are from current page
      if (currentPage
          .equals(currentUsers.get(userId).getLastActivePage())) {
        // create fetch in user
        currentUsers.get(userId).getFetch().createTreeMap(req);
        // add current fetch to users holder
        currentUsers.get(userId).addTreeMap(currentPage,
            (currentUsers.get(userId).getFetch().getTreeMap()));
        // we are not from current page
      } else {
        // if we have a stored map....
        if (currentUsers.get(userId).containsTreeMap(currentPage)) {
          // set users fetch to stored one
          currentUsers
              .get(userId)
              .getFetch()
              .addTreeMap(
                  currentUsers.get(userId).getTreeMap(
                      currentPage));

          // we do not have a stored fetchmap
        } else {
          currentUsers.get(userId).getFetch().clearTreeMap();
          currentUsers.get(userId).getFetch()
              .addValue(userId, "USERID");
        }
        // as we are from another page nothing should be
        // done.....
        currentUsers.get(userId).getFetch().removeValue("STEP");
        currentUsers.get(userId).getFetch()
            .addValue("FROM_OTHER_PAGE", "STEP");
      }

    } else {
      if (logger.isDebugEnabled()) {
        logger.log(Level.DEBUG, "isActiveReportPage:  User:" + userId
            + " " + "\n FromP:" + fromPage + " CurrentP:"
            + currentPage + " LastP:"
            + currentUsers.get(userId).getLastActivePage());
      }

      // reset been to login marker in user
      currentUsers.get(userId).setDoneLogin(false);

      // we are looping inside current page from_login is
      // interesting...
      if (currentPage
          .equals(currentUsers.get(userId).getLastActivePage())) {

        // add current fetch to user's holder
        currentUsers.get(userId).addTreeMap(currentPage,
            (currentUsers.get(userId).getFetch().getTreeMap()));

        currentUsers.get(userId).getFetch().removeValue("STEP");
        currentUsers.get(userId).getFetch()
            .addValue("FROM_LOGIN", "STEP");
        // our original page is other than current login not
        // interesting but
        // that we are from another page
      } else {
        // if we have a stored map....
        if (currentUsers.get(userId).containsTreeMap(currentPage)) {
          // set user's fetch to stored one
          currentUsers
              .get(userId)
              .getFetch()
              .addTreeMap(
                  currentUsers.get(userId).getTreeMap(
                      currentPage));

          // we do not have a stored fetchmap
        } else {
          currentUsers.get(userId).getFetch().clearTreeMap();
          currentUsers.get(userId).getFetch()
              .addValue(userId, "USERID");
        }

        currentUsers.get(userId).getFetch().removeValue("STEP");
        currentUsers.get(userId).getFetch()
            .addValue("FROM_OTHER_PAGE", "STEP");
      }

      // end from loginjsp
    }

    // create answer
    answer.setUserId(userId);
    answer.setStatus(LoginAnswer.ACTIVE);
    answer.setFetch(currentUsers.get(userId).getFetch());
    answer.setInfo("activity checked against users getLastActivityTimeStamp");

    // update lastpage in user to indicate last page we have seen
    currentUsers.get(userId).setLastActivePage(currentPage);

    // log to accessLog
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.