package th.co.muangthai.endrprint.controller.service; import org.apache.log4j.Logger; import org.springframework.beans.BeanUtils; import th.co.muangthai.endrprint.dao.serviceImp.CommonServiceImp; import th.co.muangthai.endrprint.dao.serviceInterface.CommonServiceInterface; import th.co.muangthai.endrprint.model.bean.form.master.EndrUserLoginForm; import th.co.muangthai.endrprint.model.bean.master.EndrUserLoginBean; import th.co.muangthai.endrprint.util.ADAuthenticator; import th.co.muangthai.endrprint.util.SessionUtil; import th.co.muangthai.endrprint.util.TextContent; import th.co.muangthai.endrprint.util.VSMUtil; import java.math.BigDecimal; import java.util.Date; /** * login management */ public class LoginService { private Logger log = Logger.getLogger(LoginService.class); CommonServiceInterface commonService = new CommonServiceImp(); /** * checking user login from AD system * @param bean - EndrUserLoginForm * @return EndrUserLoginForm - userLoginForm */ public EndrUserLoginForm autherizeUser(EndrUserLoginForm bean) { //Session session = HibernateUtil.getCurrentSession(); try { boolean authenAdFlag = false; EndrUserLoginForm userLogin = new EndrUserLoginForm(); if (VSMUtil.AUTHENTICATION_AD) { bean = ADAuthenticator.authenticate(bean.getUserId(), bean.getUserPassword()); if (bean != null){ authenAdFlag = true; } if(authenAdFlag){ userLogin = commonService.searchUserLoginBeanByUserId(bean.getUserId(), bean.getUserPassword()); //userLogin = null; if( userLogin != null && VSMUtil.isNotEmpty(userLogin.getUserId()) ){ userLogin.setFlagLogin("1"); //request.getSession().setAttribute(TextContent.sessionLogin,userLogin); SessionUtil.getSession().setAttribute(TextContent.sessionLogin,userLogin); SessionUtil.getSession().setAttribute("dv", TextContent.DEPLOYMENT_VERSION); //log.info("dv " + TextContent.DEPLOYMENT_VERSION); }else{ Date saveDate = new Date(); EndrUserLoginBean endrUserLoginBean = new EndrUserLoginBean(); endrUserLoginBean.setUserId(bean.getUserId()); endrUserLoginBean.setUserPassword("xxxxx"); endrUserLoginBean.setFirstname(bean.getFirstname()); endrUserLoginBean.setLastname(" "); endrUserLoginBean.setTel(null); endrUserLoginBean.setUserName(null); endrUserLoginBean.setCreateBy("Admin"); endrUserLoginBean.setCreateDate(saveDate); endrUserLoginBean.setUpdateBy("Admin"); endrUserLoginBean.setUpdateDate(saveDate); endrUserLoginBean.setOperId(null); boolean f = commonService.updateTable(endrUserLoginBean); if (f){ userLogin = new EndrUserLoginForm(); userLogin = commonService.searchUserLoginBeanByUserId(bean.getUserId(), bean.getUserPassword()); userLogin.setFlagLogin("1"); SessionUtil.getSession().setAttribute(TextContent.sessionLogin,userLogin); SessionUtil.getSession().setAttribute("dv", TextContent.DEPLOYMENT_VERSION); }else{ userLogin = new EndrUserLoginForm(); userLogin.setFlagLogin("-1"); return userLogin; } } SessionUtil.getPathFile("100000"); }else{ userLogin = new EndrUserLoginForm(); userLogin.setFlagLogin("0"); return userLogin; } }else{ userLogin = commonService.searchUserLoginBeanByUserId(bean.getUserId(), bean.getUserPassword()); if( userLogin != null ){ userLogin.setFlagLogin("1"); //request.getSession().setAttribute(TextContent.sessionLogin,userLogin); SessionUtil.getSession().setAttribute(TextContent.sessionLogin,userLogin); SessionUtil.getSession().setAttribute("dv", TextContent.DEPLOYMENT_VERSION); //log.info("dv " + TextContent.DEPLOYMENT_VERSION); }else{ userLogin = new EndrUserLoginForm(); userLogin.setFlagLogin("0"); return userLogin; } SessionUtil.getPathFile("100000"); } return userLogin; } catch (Exception e) { log.error(e.toString(), e); EndrUserLoginForm userLogin = new EndrUserLoginForm(); userLogin.setFlagLogin("0"); return userLogin; } finally { //HibernateUtil.closeSession(session); } } }