Logout.jsp
3.79 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
<%@ page import="weaver.general.Util"%>
<%@ page import="weaver.hrm.User"%>
<%@ page import="weaver.hrm.HrmUserVarify"%>
<%@ page import="java.util.Map"%>
<%@ page import="weaver.hrm.settings.RemindSettings"%>
<jsp:useBean id="LicenseCheckLogin" class="weaver.login.LicenseCheckLogin" scope="page" />
<%@ page import="weaver.file.Prop"%>
<%@ page import="java.net.URLEncoder"%>
<%@ page import="weaver.interfaces.sso.cas.CasSetting" %>
<%@ page import="weaver.interfaces.sso.cas.CasUtil" %>
<%@ page import="weaver.hrm.settings.ChgPasswdReminder" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%
User user = HrmUserVarify.getUser(request, response);
ChgPasswdReminder reminder = new ChgPasswdReminder();
RemindSettings settings0=reminder.getRemindSettings();
Map logmessages = (Map) application.getAttribute("logmessages");
String a_logmessage = "";
if (logmessages != null)
a_logmessage = Util.null2String((String)logmessages.get(""+ user.getUID()));
String s_logmessage = Util.null2String((String)session.getAttribute("logmessage"));
if (s_logmessage == null)
s_logmessage = "";
String relogin0 = Util.null2String(settings0.getRelogin());
String fromPDA = Util.null2String((String)session.getAttribute("loginPAD"));
//hubo 清除小窗口登录标识
if (request.getSession(true).getAttribute("layoutStyle") != null)
request.getSession(true).setAttribute("layoutStyle", null);
//xiaofeng 有效的登入者在退出时清除登陆标记,踢出的用户直接退出
if (!relogin0.equals("1") && !s_logmessage.equals(a_logmessage)) {
if (fromPDA.equals("1")) {
response.sendRedirect("/login/LoginPDA.jsp");
} else {
response.sendRedirect("/login/Login.jsp");
}
return;
} else {
logmessages = (Map) application.getAttribute("logmessages");
if (logmessages != null)
logmessages.remove("" + user.getUID());
}
String loginfile = Util.getCookie(request, "loginfileweaver");
String logintype = Util.null2String(user.getLogintype());
LicenseCheckLogin.updateOnlinFlag(""+ user.getUID());
String weaver_login_type = Util.null2String((String)request.getSession(true).getAttribute("weaver_login_type"));
request.getSession(true).removeValue("moniter");
request.getSession(true).removeValue("WeaverMailSet");
request.getSession(true).invalidate();
response.addHeader("Set-Cookie","__clusterSessionIDCookieName="+Util.getCookie(request,"__clusterSessionIDCookieName")+";expires=Thu, 01-Dec-1994 16:00:00 GMT;Path=/;HttpOnly");
if (fromPDA.equals("1"))
loginfile = "/login/LoginPDA.jsp";
//考虑这种情况:Cookies 被清空 loginfile为空 此时得指定一个值
if (loginfile == null || loginfile.trim().equals("")) {
loginfile = "/login/Login.jsp?logintype=1";
}
//response.sendRedirect("/Refresh.jsp?loginfile=" + loginfile);
request.getSession(true).setAttribute("weaver_user@bean",null);
CasSetting cs = new CasSetting();
// CasUtil cu = new CasUtil(); //qc414384 [80][90][客户]CAS集成-解决点击退出按钮系统卡顿问题
String caslogin = cs.getIsuse();
// String isFilterExist = cu.isFilterExist();
if(weaver_login_type.equals("OALogin")){
if(!caslogin.equals("1")){
response.sendRedirect("/Refresh.jsp?loginfile=" + loginfile);
}else{
response.sendRedirect("/login/OALogin.jsp?loginfile=" + loginfile);
}
}else{
if(!caslogin.equals("1")){
response.sendRedirect("/Refresh.jsp?loginfile=" + loginfile);
}else{
String logoutUrl = cs.getCasserverurl()+cs.getCasserverlogoutpage();
String service = cs.getEcologyurl();
service = URLEncoder.encode(service, "UTF-8");
String loginUrl = cs.getCasserverurl()+cs.getCasserverloginpage();
loginUrl = loginUrl+"?service="+service;
%>
<script language="javascript">
top.window.location.href="<%=logoutUrl%>?service=<%=service%>?logintype=<%=logintype%>";
</script>
<%
}
}
%>