Package com.ordobill.webapp.action

Source Code of com.ordobill.webapp.action.LoginAction

package com.ordobill.webapp.action;

import javax.servlet.http.*;

import org.apache.struts.action.*;
import org.apache.commons.logging.*;
import com.ibatis.sqlmap.client.*;
import com.ordobill.webapp.beans.Member;
import com.ordobill.webapp.common.Constants;
import com.ordobill.webapp.common.SqlMapClientManager;
import org.apache.struts.actions.*;


public class LoginAction extends DispatchAction{

  private Log log = LogFactory.getFactory().getInstance(this.getClass().getName());
  private SqlMapClient sqlMap = SqlMapClientManager.getSqlMapClient();

  public ActionForward login(ActionMapping mapping,
                         ActionForm form,
                         HttpServletRequest request,
                         HttpServletResponse response) throws Exception {   
    Member memberForm = (Member) form;
    Member memberData = (Member) sqlMap.queryForObject("Member.list", memberForm);
    ActionMessages errors = new ActionMessages();
   
    // 유저 유무 확인
    log.info("User I.D. Checking...");
    if (memberData == null) {
      errors.add("error", new ActionMessage("아이디가 일치하지 않습니다."));
      saveMessages(request, errors);
      log.debug("Invalidated I.D Please Try Again");
      return mapping.getInputForward();
    }
   
    log.debug("user data id : " + memberData.getMemId());
    log.debug("user form id : " + memberForm.getMemId());
   
    log.info("User Password Checking...");
    if(!memberData.isCheckoutPassword(memberForm.getMemPw())){
      log.debug("Invalidated Password Please Try Again");
      errors.add("error", new ActionMessage("비밀번호가 일치하지 않습니다."));
      saveMessages(request, errors);
      return mapping.getInputForward();
    }
    // 승인 체크
    log.info("User approval Checking...");
    if("N".equals(memberData.getMemOk())){
      log.debug("ask for[request] somebody's approval");
      errors.add("error", new ActionMessage("관리자 승인이 필요합니다."));
      saveMessages(request, errors);
      return mapping.getInputForward();
    }
   
    log.debug("user data password : " + memberData.getMemPw());
    log.debug("user form password : " + memberForm.getMemPw())
   
    log.info("Now is Session Setting...");
   
    HttpSession session = request.getSession();
   
    memberData.setMemPw(null);
    session.setAttribute(Constants.SESSION_UNIT, memberData);
    session.setAttribute(Constants.SESSION_UNIT_UID, ""+memberData.getMemUid());
    session.setAttribute(Constants.SESSION_UNIT_NAME, memberData.getMemName());
    session.setAttribute(Constants.SESSION_UNIT_ID, memberData.getMemId());
    session.setAttribute(Constants.SESSION_UNIT_COMPANY, memberData.getMemCompany());
    session.setAttribute(Constants.SESSION_UNIT_EMAIL, memberData.getMemEmail());
    session.setAttribute(Constants.SESSION_UNIT_TEL, memberData.getMemTel());
    session.setAttribute(Constants.SESSION_UNIT_ADDR, memberData.getMemAddress());
    session.setAttribute(Constants.SESSION_UNIT_LEVEl, memberData.getMemLevel());
    session.setAttribute(Constants.SESSION_UNIT_OK, memberData.getMemOk());
    session.setAttribute(Constants.SESSION_GETID, session.getId());
   
    return mapping.findForward("success");
  }
 
  public ActionForward logout(ActionMapping mapping,
                          ActionForm form,
                          HttpServletRequest request,
                          HttpServletResponse response) throws Exception {

        // 로그 아웃 정보 입력
        log.info("Login out history...");
       
        ActionMessages messages = new ActionMessages();
       
        HttpSession session = request.getSession(false);
        if(!ProjectAction.simulationArr.isEmpty()){
            ProjectAction.simulationArr.remove((String)session.getAttribute("sessionGetId"));
        }
        session.invalidate();
        session = null;
       
        messages.add("message", new ActionMessage("로그아웃 되었습니다."));
        saveMessages(request, messages);
       
        return mapping.findForward("logout");               
   
}
TOP

Related Classes of com.ordobill.webapp.action.LoginAction

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.