You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

200 lines
7.7 KiB
Plaintext

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="weaver.general.Util" %>
<%@ page import="weaver.integration.entrance.bean.OutterLoginBean" %>
<%@ page import="weaver.integration.entrance.service.EntranceService" %>
<%@ page import="weaver.integration.entrance.service.IOutterSysServer" %>
<%@ page import="weaver.integration.entrance.service.OutterSysServer" %>
<%@ page import="weaver.integration.entrance.service.permission.IPermissionService" %>
<%@ page import="weaver.integration.entrance.service.permission.PermissionService" %>
<%@ page import="weaver.integration.entrance.utils.StringUtils" %>
<%@ page import="weaver.integration.entrance.exceptions.OtherParamsEncryptException" %>
<%@ page import="weaver.integration.entrance.exceptions.AccountOrPasswordEncryptException" %>
<%@ page import="weaver.integration.logging.LoggerFactory" %>
<%@ page import="weaver.integration.logging.Logger" %>
<%@ page import="com.alibaba.fastjson.JSONObject" %>
<%@ page import="weaver.hrm.User" %>
<%@ page import="weaver.hrm.HrmUserVarify" %>
<%@ page import="java.util.Map" %>
<%@ page import="java.util.HashMap" %>
<%@ page import="weaver.systeminfo.SystemEnv" %>
<%@ page import="java.util.Objects" %>
<%@ page import="cn.hutool.core.map.MapUtil" %>
<%@ page import="weaver.general.BaseBean" %>
<%--<script type="text/javascript" src="/js/jquery/jquery_wev8.js"></script>--%>
<%--<script src="http://libs.baidu.com/jquery/2.0.0/jquery.js"></script>--%>
<%@ include file="/systeminfo/init_wev8.jsp" %>
<script language=javascript src="<%=weaver.general.GCONST.getContextPath()%>/wui/theme/ecology8/jquery/js/zDialog_wev8.js"></script>
<jsp:useBean id="rs" class="weaver.conn.RecordSet" scope="page"/>
<jsp:useBean id="RecordSet" class="weaver.conn.RecordSet" scope="page"/>
<jsp:useBean id="RecordSet1" class="weaver.conn.RecordSet" scope="page"/>
<%
Logger integration_logger = LoggerFactory.getLogger();
BaseBean bb = new BaseBean();
User this_user = HrmUserVarify.getUser(request,response);
//企业微信集成时构造的用户session会缺少loginid导致在企业微信中引用集成登录时因获取不到用户名导致无法单点登录。
if(Util.null2String(this_user.getLoginid()).equals("")){
//查询loginid
RecordSet.executeSql("select loginid from HrmResource where id="+this_user.getUID());
if(RecordSet.next()){
this_user.setLoginid(Util.null2String(RecordSet.getString("loginid")));
}
//重新设置用户session
request.getSession(true).setAttribute("weaver_user@bean", this_user);
}
IPermissionService permissionService=new PermissionService();
String operationType = permissionService.getOperationType(request);
String sysid = Util.null2String(request.getParameter("id"));// 系统标识
String coremailPath = Util.null2String(request.getParameter("coremailPath"));
integration_logger.info("sysid=========================" + sysid);
integration_logger.info("operationType=========================" + operationType);
integration_logger.info("coremailPath=========================" + coremailPath);
if ("".equals(operationType)) {
// 权限判断
// 得到有权限查看的集成登录
String access = permissionService.isAccess(sysid, request, response);
integration_logger.info("access=========================" + access);
baseBean.writeLog("access状态码->"+access);
if (!StringUtils.isBlank(access)){
if(access.startsWith("/")&&!access.startsWith(weaver.general.GCONST.getContextPath())){
access = weaver.general.GCONST.getContextPath()+access;
}
response.sendRedirect(access);
return;
}
}
EntranceService entranceService = new EntranceService();
IOutterSysServer outterSysServer = new OutterSysServer();
OutterLoginBean loginBean = null;
Map<String, Object> map = new HashMap<String, Object>();
try {
loginBean = entranceService.getLoginBean(outterSysServer, sysid, operationType, request, response);
map = entranceService.getUrl(outterSysServer, loginBean, operationType, request, response);
//coremail 特殊处理
if (!StringUtils.isEmpty(coremailPath)) {
integration_logger.info("处理coremailPath" + coremailPath);
String redirectUrl = MapUtil.getStr(map, "redirectUrl");
String isRedirect = MapUtil.getStr(map, "isRedirect");
integration_logger.info("处理coremail redirectUrl" + redirectUrl);
integration_logger.info("处理coremail isRedirect" + isRedirect);
if (!StringUtils.isEmpty(redirectUrl) && "true".equalsIgnoreCase(isRedirect)) {
String replaceUrl = redirectUrl.replace("#mail.list|{\"fid\":1}", coremailPath);
integration_logger.info("处理coremail replaceUrl" + replaceUrl);
map.put("redirectUrl", replaceUrl);
}
}
integration_logger.info("map=========================" + JSONObject.toJSONString(map));
} catch (ClassNotFoundException e) {
%>
<script language=javascript>
top.Dialog.alert("<%= SystemEnv.getHtmlLabelNames("508601",this_user.getLanguage()) %>", function () {
window.close();
}, 420, 130);
</script>
<%
}catch (NoSuchMethodException e){
e.printStackTrace();
%>
<script language=javascript>
top.Dialog.alert("<%= SystemEnv.getHtmlLabelNames("508602",this_user.getLanguage()) %>", function () {
window.close();
}, 420, 130);
</script>
<%
}catch (IllegalAccessException e){
%>
<script language=javascript>
top.Dialog.alert("<%=SystemEnv.getHtmlLabelNames("508603",this_user.getLanguage()) %>", function () {
window.close();
}, 420, 130);
</script>
<%
}catch (InstantiationException e){
%>
<script language=javascript>
top.Dialog.alert("<%= SystemEnv.getHtmlLabelNames("508604",this_user.getLanguage())%>", function () {
window.close();
}, 420, 130);
</script>
<%
}catch (NoClassDefFoundError e){
%>
<script language=javascript>
top.Dialog.alert("<%= SystemEnv.getHtmlLabelNames("508605",this_user.getLanguage())%>", function () {
window.close();
}, 420, 130);
</script>
<%
}catch (OtherParamsEncryptException e) {
%>
<script language=javascript>
top.Dialog.alert("<%= SystemEnv.getHtmlLabelNames("508614",this_user.getLanguage())%>", function () {
window.close();
}, 420, 130);
</script>
<%
} catch (AccountOrPasswordEncryptException e) {
%>
<script language=javascript>
top.Dialog.alert("<%= SystemEnv.getHtmlLabelNames("508615",this_user.getLanguage())%>", function () {
window.close();
}, 420, 130);
</script>
<%
}catch (Exception e){
%>
<script language=javascript>
top.Dialog.alert("系统异常,请联系管理员", function () {
window.close();
}, 420, 130);
</script>
<%
}
if (Objects.nonNull(map)){
if (map.get("isError")!= null&&"true".equals(map.get("isError"))){
%>
<script language=javascript>
top.Dialog.alert("<%= map.get("errorMsg") %>", function () {
window.close();
}, 420, 130);
</script>
<%
return;
}
baseBean.writeLog("进入前");
if (map.get("isRedirect")!=null && "true".equals(map.get("isRedirect"))){
baseBean.writeLog("redirectUrl111111=========================");
integration_logger.info("redirectUrl111111=========================");
response.sendRedirect(map.get("redirectUrl").toString());
return;
}
if (map.get("isRedirect")!=null && "false".equals(map.get("isRedirect"))){
out.println(map.get("redirectUrl").toString());
return;
}
}else {
integration_logger.error("map is null ====================================================");
}
%>