115 lines
5.2 KiB
Plaintext
115 lines
5.2 KiB
Plaintext
|
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);
|
||
|
}
|
||
|
}
|
||
|
}
|