|
|
<%@ 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" %>
|
|
|
<jsp:useBean id="rs" class="weaver.conn.RecordSet" scope="page"/>
|
|
|
<%
|
|
|
// 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<String, Object> params = ParamUtil.request2Map(request);
|
|
|
for (Map.Entry<String, Object> 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;
|
|
|
}
|
|
|
|
|
|
%>
|
|
|
<script language="javascript">
|
|
|
|
|
|
var languageidweaver = "<%=languageidweaver %>";
|
|
|
if(languageidweaver == ""){
|
|
|
languageidweaver = "8";
|
|
|
}
|
|
|
localStorage.setItem("languageidweaver",languageidweaver);
|
|
|
|
|
|
var user_id = "<%=user_id %>" ;
|
|
|
if(user_id == "")
|
|
|
{
|
|
|
alert("您不是系统的办公人员,不能登录!");
|
|
|
}else{
|
|
|
var forwardurl = "<%=forwardurl %>";
|
|
|
window.location.href=forwardurl;
|
|
|
}
|
|
|
</script>
|