cas-entrance.jsp
2.55 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
<%@ page import="weaver.general.Util" %>
<%@ page import="java.net.URL" %>
<%@ page import="weaver.integration.logging.Logger" %>
<%@ page import="weaver.integration.logging.LoggerFactory" %>
<%@ page import="weaver.general.BaseBean" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%
Logger logger = LoggerFactory.getLogger(getClass());
String path = Util.null2String( request.getParameter("path"));
logger.info("============path:" + path);
if (path.indexOf("http") >= 0 || path.indexOf("https") >= 0) {
String serverName = request.getServerName();
URL url = new URL(path);
String host = url.getHost();
if (!serverName.equals(host)) {
response.sendRedirect("/notice/noright.jsp");
return;
}
if (path.contains("ssoType=OAUTH2")) {
//OAUTH2认证
BaseBean bb = new BaseBean();
String isuse = bb.getPropValue("oauth2", "isuse");
if ("1".equals(isuse)) {
String access_token_parameter_name = bb.getPropValue("oauth2", "access_token_parameter_name");
String ref = url.getRef();
logger.info("===========#后面的东东:" + ref);
if (path.contains("#") && ref.contains(access_token_parameter_name + "=")) {
int start = ref.indexOf(access_token_parameter_name + "=") + access_token_parameter_name.length() + 1;
String token = ref.substring(start, ref.length());
logger.info("==========token:" + token);
String query = url.getQuery();
if (query == null) {
query = "?" + access_token_parameter_name + "=" + token;
} else {
query += "&" + access_token_parameter_name + "=" + token;
}
String port = ":" + request.getServerPort();
if (request.getServerPort() == 80) {
port = "";
}
String newPath = request.getProtocol() + "://" + serverName + port + url.getPath() + query + "#" + url.getRef();
logger.info("==========oauth2 newPath:" + newPath);
path = newPath;
}
}
}
}
if (path != null && path.endsWith("/wui/index.html")) {
path = path.substring(0, path.indexOf("/wui/index.html")) + "/wui/index.html#/main";
}
%>
<script type="text/javascript">
window.location.href = unescape("<%=path%>");
</script>