VerifySSoLogin.jsp
6.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="weaver.conn.RecordSet" %>
<%@ page import="weaver.general.AES" %>
<%@ page import="weaver.general.BaseBean" %>
<%@ page import="weaver.general.Util" %>
<%@ page import="weaver.hrm.OnLineMonitor"%>
<%@page import="weaver.hrm.User"%>
<%@page import="java.util.Calendar"%>
<%@ page import="java.util.HashMap" %>
<%@ page import="java.util.Map" %>
<jsp:useBean id="rs" class="weaver.conn.RecordSet" scope="page" />
<%!
private String getLogMessage(String uid){
String message = "";
RecordSet rs = new RecordSet();
String sqltmp = "";
if (rs.getDBType().equals("oracle")) {
sqltmp = "select * from (select * from SysMaintenanceLog where relatedid = ? and operatetype='6' and operateitem='60' order by id desc ) where rownum=1 ";
}else if(rs.getDBType().equals("db2")){
sqltmp = "select * from SysMaintenanceLog where relatedid = ? and operatetype='6' and operateitem='60' order by id desc fetch first 1 rows only ";
} else {
sqltmp = "select top 1 * from SysMaintenanceLog where relatedid = ? and operatetype='6' and operateitem='60' order by id desc";
}
rs.executeQuery(sqltmp,uid);
if (rs.next()){
message = rs.getString("clientaddress") + " " + rs.getString("operatedate") + " " + rs.getString("operatetime");
}
return message;
}
%>
<%
String para = Util.null2String(request.getParameter("para"));
String loginid = "";
String gopage = "";
try{
String password=new BaseBean().getPropValue("AESpassword", "pwd");
if(password.equals("")){
password="1";
}
String para2 = AES.decrypt(para,password);
String str[] = Util.TokenizerString2(para2,"#");
gopage=str[0];
loginid = str[1];
}catch (Exception e){
new BaseBean().writeLog(e);
response.sendRedirect("/login/Login.jsp");
return;
}
User user_new = null;
//成功
rs.executeQuery("select * from HrmResource where loginid=? and status<4",loginid);
if(rs.next()){
user_new = new User();
user_new.setUid(rs.getInt("id"));
user_new.setLoginid(rs.getString("loginid"));
user_new.setFirstname(rs.getString("firstname"));
user_new.setLastname(rs.getString("lastname"));
user_new.setAliasname(rs.getString("aliasname"));
user_new.setTitle(rs.getString("title"));
user_new.setTitlelocation(rs.getString("titlelocation"));
user_new.setSex(rs.getString("sex"));
user_new.setPwd(rs.getString("password"));
String languageidweaver = rs.getString("systemlanguage");
user_new.setLanguage(Util.getIntValue(languageidweaver, 0));
user_new.setTelephone(rs.getString("telephone"));
user_new.setMobile(rs.getString("mobile"));
user_new.setMobilecall(rs.getString("mobilecall"));
user_new.setEmail(rs.getString("email"));
user_new.setCountryid(rs.getString("countryid"));
user_new.setLocationid(rs.getString("locationid"));
user_new.setResourcetype(rs.getString("resourcetype"));
user_new.setStartdate(rs.getString("startdate"));
user_new.setEnddate(rs.getString("enddate"));
user_new.setContractdate(rs.getString("contractdate"));
user_new.setJobtitle(rs.getString("jobtitle"));
user_new.setJobgroup(rs.getString("jobgroup"));
user_new.setJobactivity(rs.getString("jobactivity"));
user_new.setJoblevel(rs.getString("joblevel"));
user_new.setSeclevel(rs.getString("seclevel"));
user_new.setUserDepartment(Util.getIntValue(rs.getString("departmentid"), 0));
user_new.setUserSubCompany1(Util.getIntValue(rs.getString("subcompanyid1"), 0));
user_new.setUserSubCompany2(Util.getIntValue(rs.getString("subcompanyid2"), 0));
user_new.setUserSubCompany3(Util.getIntValue(rs.getString("subcompanyid3"), 0));
user_new.setUserSubCompany4(Util.getIntValue(rs.getString("subcompanyid4"), 0));
user_new.setManagerid(rs.getString("managerid"));
user_new.setAssistantid(rs.getString("assistantid"));
user_new.setPurchaselimit(rs.getString("purchaselimit"));
user_new.setCurrencyid(rs.getString("currencyid"));
user_new.setLastlogindate(rs.getString("currentdate"));
user_new.setLogintype("1");
user_new.setAccount(rs.getString("account"));
user_new.setLoginip(request.getRemoteAddr());
request.getSession(true).setMaxInactiveInterval(60 * 60 * 24);
request.getSession(true).setAttribute("weaver_user@bean", user_new);
//多帐号登陆
if (user_new.getUID() != 1) { //is not sysadmin
weaver.login.VerifyLogin VerifyLogin = new weaver.login.VerifyLogin();
java.util.List accounts = VerifyLogin.getAccountsById(user_new.getUID());
request.getSession(true).setAttribute("accounts", accounts);
}
request.getSession(true).setAttribute("moniter", new OnLineMonitor("" + user_new.getUID(),user_new.getLoginip()));
Util.setCookie(response, "loginfileweaver", "/login/Login.jsp", 172800);
Util.setCookie(response, "loginidweaver", ""+user_new.getUID(), 172800);
Util.setCookie(response, "languageidweaver", languageidweaver, 172800);
Map logmessages=(Map)application.getAttribute("logmessages");
if(logmessages==null){
logmessages=new HashMap();
logmessages.put(""+user_new.getUID(),"");
application.setAttribute("logmessages",logmessages);
}
request.getSession(true).setAttribute("logmessage",getLogMessage(user_new.getUID()+""));
//处理浏览器是否为IE start
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";
}
request.getSession(true).setAttribute("browser_isie",isIE);
//处理浏览器是否为IE end
char separater = Util.getSeparator();
Calendar today = Calendar.getInstance();
String LoginDate = Util.add0(today.get(Calendar.YEAR), 4) + "-" + Util.add0(today.get(Calendar.MONTH) + 1, 2) + "-" + Util.add0(today.get(Calendar.DAY_OF_MONTH), 2);
rs.execute("HrmResource_UpdateLoginDate", rs.getString("id") + separater + LoginDate);
//登录日志
weaver.systeminfo.SysMaintenanceLog log1 = new weaver.systeminfo.SysMaintenanceLog();
log1.resetParameter();
log1.setRelatedId(rs.getInt("id"));
log1.setRelatedName((rs.getString("firstname") + " " + rs.getString("lastname")).trim());
log1.setOperateType("6");
log1.setOperateDesc("");
log1.setOperateItem("60");
log1.setOperateUserid(rs.getInt("id"));
log1.setClientAddress(request.getRemoteAddr());
try {
log1.setSysLogInfo();
} catch (Exception e) {
e.printStackTrace();
}
response.sendRedirect(gopage);
return;
}else{
//跳转到错误页面
response.sendRedirect("/login/Login.jsp");
return;
}
%>