QCLoginStatus.jsp 4.62 KB

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="weaver.conn.RecordSet"%>
<%@page import="weaver.general.Util"%>
<%@page import="weaver.systeminfo.template.UserTemplate"%>
<%@page import="weaver.hrm.User"%>
<%@page import="weaver.login.VerifyLogin"%>
<%@page import="java.util.List"%>
<%@page import="weaver.login.exception.CaCheckException"%>
<%@ page import="org.apache.commons.lang3.StringUtils" %>

<jsp:useBean id="qrCode" class="weaver.mobile.plugin.ecology.QRCodeComInfo" scope="page"/>
<%!
		public String SSOUser(String loginkey,HttpSession session){
			String qSql = "select loginid from QRCodeComInfo where loginkey=?" ;
			RecordSet rs = new RecordSet() ;
			rs.executeQuery(qSql,loginkey) ;
			if(!rs.next()) return null ;
			String loginid = rs.getString("loginid") ;

			rs.execute("delete from QRCodeComInfo where loginkey='"+loginkey+"'") ;

			session.setAttribute("_SSO_HRM_LOGINID_",loginid);
			return loginid ;
		}
%>

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

String loginkey = request.getParameter("loginkey");
String isIE = Util.null2String(request.getParameter("isie"));

String agent = request.getHeader("user-agent");
 if(agent.indexOf("rv:11") == -1 && agent.indexOf("MSIE") == -1){
	isIE = "false";
 }

 if(agent.indexOf("rv:11") > -1 && agent.indexOf("Mozilla") > -1){
		isIE = "true";
	 }


if(!isIE.equals("false")){
	isIE = "true";
}
session.setAttribute("browser_isie",isIE);


String appId = Util.null2String(request.getParameter("appid")) ;
if(StringUtils.isNotBlank(appId)){
	if(StringUtils.isBlank(loginkey)){
		out.print("0");
		return ;
	}
	String logind = SSOUser(loginkey,session) ;
	if(StringUtils.isBlank(logind)){
		out.print("0");
		return ;
	}
	out.print("SUCCESS");
	return ;
}


if (loginkey != null && !"".equals(loginkey)) {
	
	Object obj = null ;
	try{
		obj =  new weaver.login.VerifyLogin4QCode().getUserCheck(application,request,response);
	}catch(CaCheckException e){
	    out.print(e.getMsg());
		return ;
	}
	
	if(obj == null){	//兼容微信端老版本扫码
		obj = application.getAttribute(loginkey);
	}
	if (obj != null) {
		User user = (User)obj;
		
		String langid = Util.null2String(request.getParameter("langid"));
		if(!langid.equals("")&&!langid.equals("undefined")){
			user.setLanguage(Util.getIntValue(langid,7));
		}
		
		request.getSession(true).setAttribute("weaver_user@bean", user);
		 if (user.getUID() != 1) {  //is not sysadmin
             List accounts = new VerifyLogin().getAccountsById(user.getUID());
             request.getSession(true).setAttribute("accounts", accounts);
         }
		
		UserTemplate  ut=new UserTemplate();
		
		ut.getTemplateByUID(user.getUID(),user.getUserSubCompany1());
		int templateId=ut.getTemplateId();
		int extendTempletid=ut.getExtendtempletid();
		int extendtempletvalueid=ut.getExtendtempletvalueid();
		String defaultHp = ut.getDefaultHp();
		session.setAttribute("defaultHp",defaultHp);
		RecordSet rsExtend = new RecordSet();
		RecordSet rs = new RecordSet();
		String tourl = "";
		String RedirectFile="/wui/main.jsp"; 
		if(extendTempletid!=0){
			rsExtend.executeSql("select id,extendname,extendurl from extendHomepage  where id="+extendTempletid);
			if(rsExtend.next()){
				int id=Util.getIntValue(rsExtend.getString("id"));
				//String extendname=Util.null2String(rsExtend.getString("extendname"));	
				String extendurl=Util.null2String(rsExtend.getString("extendurl"));	
				rs.executeSql("select * from extendHpWebCustom where templateid="+templateId);
				String defaultshow ="";
				if(rs.next()){
					defaultshow = Util.null2String(rs.getString("defaultshow"));
				}
				String param = "";
				if(!defaultshow.equals("")){
					param ="&"+defaultshow.substring(defaultshow.indexOf("?")+1);
				}
				
				tourl = "/login/RemindLogin.jsp?RedirectFile="+extendurl+"/index.jsp?templateId="+templateId+param+"&loginid="+user.getLoginid();
				//tourl = extendurl+"/index.jsp?templateId="+templateId+param;
				//response.sendRedirect(extendurl+"/index.jsp?templateId="+templateId+param) ;
				//return;		
			}
		}else {
			tourl = "/login/RemindLogin.jsp?RedirectFile="+RedirectFile;
		} 
		out.print(tourl);
	} else {
		String logout = (String)application.getAttribute(loginkey + ":logout");
		if (logout != null && !"".equals(logout)) {
			request.getSession(true).removeAttribute("weaver_user@bean");
			application.removeAttribute(loginkey + ":logout");
			logout = "9";
		} else {
			logout = "0";
		}
		out.print(logout+"");
		
	}
	
	//登录成功后,只登录一次
	application.removeAttribute(loginkey);
} else {
    out.print("0");
}
%>