<%@ page language="java" contentType="text/html; charset=UTF-8" %> <%@ page import="weaver.general.Util,weaver.hrm.*" %> <%@ page import="weaver.general.BaseBean" %> <%@ page import="java.net.URLDecoder" %> <%@ page import="com.engine.common.util.ParamUtil" %> <%@ page import="java.util.Map" %> <% // response.setHeader("Cache-Control","no-cache"); //HTTP 1.1 // response.setHeader("Pragma","no-cache"); //HTTP 1.0 // response.setDateHeader ("Expires", 0); //prevents caching at the proxy server %> <% BaseBean bb = new BaseBean(); bb.writeLog("loginsso.jsp"); String userCode = Util.null2String(request.getParameter("userCode")); String em_auth_usercode = ""; if(!"".equals(userCode)){ em_auth_usercode = userCode; }else{ em_auth_usercode = Util.null2String(request.getParameter("em_auth_usercode")); } String forwardurl = Util.null2String(request.getParameter("forwardurl")); Map params = ParamUtil.request2Map(request); for (Map.Entry entry : params.entrySet()) { bb.writeLog(" loginsso 参数 :key= " + entry.getKey() + " and value= " + entry.getValue()); } if(!"".equals(forwardurl)){ forwardurl = URLDecoder.decode(forwardurl,"UTF-8"); }else{ forwardurl = "/bpm/spa/coms/static4mobile/index.html#/menu-preview?id=appDefaultPage&checkAccess=1"; } BaseBean log=new BaseBean(); log.writeLog("em_auth_usercode = "+em_auth_usercode); String user_id = "" ; if("admin".equals(em_auth_usercode)){ String sql = " select id from hrmresourcemanager where loginid=?" ; bb.writeLog("sql:"+sql); rs.executeQuery(sql,new Object[]{"sysadmin"}); if(rs.next()) { user_id = Util.null2String(rs.getString("id")); } }else{ String sql = " select id from hrmresource where loginid=?" ; bb.writeLog("sql:"+sql); rs.executeQuery(sql,new Object[]{em_auth_usercode}); if(rs.next()) { user_id = Util.null2String(rs.getString("id")); } } String languageidweaver = "8"; if(!"".equals(user_id)) { User loginuser = (User) request.getSession(true).getAttribute("weaver_user@bean"); if (loginuser == null) { if("admin".equals(em_auth_usercode)) { String sql = " select * from hrmresource where loginid=?"; bb.writeLog("sql:" + sql); rs.executeQuery(sql,new Object[]{"sysadmin"}); }else{ String sql = " select * from hrmresource where loginid=?"; bb.writeLog("sql:" + sql); rs.executeQuery(sql, new Object[]{em_auth_usercode}); } if (rs.next()) { User user = new User(); user.setUid(rs.getInt("id")); user.setLoginid(rs.getString("loginid")); user.setFirstname(rs.getString("firstname")); user.setLastname(rs.getString("lastname")); user.setAliasname(rs.getString("aliasname")); user.setTitle(rs.getString("title")); user.setTitlelocation(rs.getString("titlelocation")); user.setSex(rs.getString("sex")); user.setPwd(rs.getString("password")); languageidweaver = rs.getString("systemlanguage"); user.setLanguage(Util.getIntValue(languageidweaver, 0)); user.setTelephone(rs.getString("telephone")); user.setMobile(rs.getString("mobile")); user.setMobilecall(rs.getString("mobilecall")); user.setEmail(rs.getString("email")); user.setCountryid(rs.getString("countryid")); user.setLocationid(rs.getString("locationid")); user.setResourcetype(rs.getString("resourcetype")); user.setStartdate(rs.getString("startdate")); user.setEnddate(rs.getString("enddate")); user.setContractdate(rs.getString("contractdate")); user.setJobtitle(rs.getString("jobtitle")); user.setJobgroup(rs.getString("jobgroup")); user.setJobactivity(rs.getString("jobactivity")); user.setJoblevel(rs.getString("joblevel")); user.setSeclevel(rs.getString("seclevel")); user.setUserDepartment(Util.getIntValue(rs.getString("departmentid"), 0)); user.setUserSubCompany1(Util.getIntValue(rs.getString("subcompanyid1"), 0)); user.setUserSubCompany2(Util.getIntValue(rs.getString("subcompanyid2"), 0)); user.setUserSubCompany3(Util.getIntValue(rs.getString("subcompanyid3"), 0)); user.setUserSubCompany4(Util.getIntValue(rs.getString("subcompanyid4"), 0)); user.setManagerid(rs.getString("managerid")); user.setAssistantid(rs.getString("assistantid")); user.setPurchaselimit(rs.getString("purchaselimit")); user.setCurrencyid(rs.getString("currencyid")); user.setLastlogindate(rs.getString("currentdate")); user.setLogintype("1"); user.setAccount(rs.getString("account")); user.setLoginip(request.getRemoteAddr()); request.getSession(true).setMaxInactiveInterval(60 * 60 * 24); request.getSession(true).setAttribute("weaver_user@bean", user); request.getSession(true).setAttribute("moniter", new OnLineMonitor("" + user.getUID(), user.getLoginip())); request.getSession(true).setAttribute("browser_isie", getisIE(request)); Util.setCookie(response, "loginfileweaver", "/login/Login.jsp?logintype=1", 172800); Util.setCookie(response, "loginidweaver", "" + user.getUID(), 172800); Util.setCookie(response, "languageidweaver", languageidweaver, 172800); } } else { String usercode = loginuser.getLoginid(); if (!(usercode).equals(em_auth_usercode)) { String sql = " select * from hrmresource where loginid=? "; bb.writeLog("sql:" + sql); rs.executeQuery(sql, new Object[]{em_auth_usercode}); if (rs.next()) { User user = new User(); user.setUid(rs.getInt("id")); user.setLoginid(rs.getString("loginid")); user.setFirstname(rs.getString("firstname")); user.setLastname(rs.getString("lastname")); user.setAliasname(rs.getString("aliasname")); user.setTitle(rs.getString("title")); user.setTitlelocation(rs.getString("titlelocation")); user.setSex(rs.getString("sex")); user.setPwd(rs.getString("password")); languageidweaver = rs.getString("systemlanguage"); user.setLanguage(Util.getIntValue(languageidweaver, 0)); user.setTelephone(rs.getString("telephone")); user.setMobile(rs.getString("mobile")); user.setMobilecall(rs.getString("mobilecall")); user.setEmail(rs.getString("email")); user.setCountryid(rs.getString("countryid")); user.setLocationid(rs.getString("locationid")); user.setResourcetype(rs.getString("resourcetype")); user.setStartdate(rs.getString("startdate")); user.setEnddate(rs.getString("enddate")); user.setContractdate(rs.getString("contractdate")); user.setJobtitle(rs.getString("jobtitle")); user.setJobgroup(rs.getString("jobgroup")); user.setJobactivity(rs.getString("jobactivity")); user.setJoblevel(rs.getString("joblevel")); user.setSeclevel(rs.getString("seclevel")); user.setUserDepartment(Util.getIntValue(rs.getString("departmentid"), 0)); user.setUserSubCompany1(Util.getIntValue(rs.getString("subcompanyid1"), 0)); user.setUserSubCompany2(Util.getIntValue(rs.getString("subcompanyid2"), 0)); user.setUserSubCompany3(Util.getIntValue(rs.getString("subcompanyid3"), 0)); user.setUserSubCompany4(Util.getIntValue(rs.getString("subcompanyid4"), 0)); user.setManagerid(rs.getString("managerid")); user.setAssistantid(rs.getString("assistantid")); user.setPurchaselimit(rs.getString("purchaselimit")); user.setCurrencyid(rs.getString("currencyid")); user.setLastlogindate(rs.getString("currentdate")); user.setLogintype("1"); user.setAccount(rs.getString("account")); user.setLoginip(request.getRemoteAddr()); request.getSession(true).setMaxInactiveInterval(60 * 60 * 24); request.getSession(true).setAttribute("weaver_user@bean", user); request.getSession(true).setAttribute("moniter", new OnLineMonitor("" + user.getUID(), user.getLoginip())); request.getSession(true).setAttribute("browser_isie", getisIE(request)); Util.setCookie(response, "loginfileweaver", "/login/Login.jsp?logintype=1", 172800); Util.setCookie(response, "loginidweaver", "" + user.getUID(), 172800); Util.setCookie(response, "languageidweaver", languageidweaver, 172800); } } } } %> <%! // 判断浏览器是否为IE private String getisIE(HttpServletRequest request) { String isIE = "true"; String agent = request.getHeader("User-Agent").toLowerCase(); if (agent.indexOf("rv:11") == -1 && agent.indexOf("msie") == -1) { isIE = "false"; } if (agent.indexOf("rv:11") > -1 || agent.indexOf("msie") > -1) { isIE = "true"; } return isIE; } %>