单点登录日志

feature-LeeD-20221025
李栋 2 years ago
parent 7f3acb3ad9
commit 71e3c61f3d

@ -5,8 +5,10 @@ import com.alibaba.fastjson.JSONObject;
import com.api.system.language.util.ParseLangDataUtil;
import com.cloudstore.dev.api.bean.CodeTimeBean;
import com.cloudstore.dev.api.util.EMManager;
import com.cloudstore.dev.api.util.LogUtil;
import com.cloudstore.dev.api.util.Util_DataMap;
import com.cloudstore.dev.api.util.Util_public;
import com.cloudstore.dev.bean.LoginLogEntity;
import com.cloudstore.eccom.common.WeaIndexManager;
import com.cloudstore.eccom.constant.WeaMessageCode;
import com.cloudstore.eccom.core.WeaDataChange;
@ -24,20 +26,6 @@ import com.engine.msgcenter.util.ValveConfigManager;
import com.engine.systeminfo.util.AppSyncUtil;
import com.engine.systeminfo.util.IpTablesUtil;
import com.google.common.collect.Maps;
import java.io.*;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLDecoder;
import java.util.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@ -45,6 +33,7 @@ import weaver.common.util.string.StringUtil;
import weaver.conn.RecordSet;
import weaver.general.PasswordUtil;
import weaver.general.ThreadVarLanguage;
import weaver.general.TimeUtil;
import weaver.general.Util;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.OnLineMonitor;
@ -54,6 +43,22 @@ import weaver.mobile.plugin.ecology.service.HrmResourceService;
import weaver.rsa.security.RSA;
import weaver.systeminfo.SystemEnv;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLDecoder;
import java.util.*;
@Path("/ec/dev/app")
public class ServiceEC {
private static volatile boolean inited;
@ -242,6 +247,7 @@ public class ServiceEC {
*/
private User ssoLoginByAuthCode(HttpServletRequest request) {
String authCode = request.getParameter("authCode");
try {
HashMap<String, Object> paramMap = new HashMap<>();
paramMap.put("auth_code", authCode);
logger.info("ssoLogin_auth_code" + authCode);
@ -300,8 +306,14 @@ public class ServiceEC {
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()));
LogUtil.log(LoginLogEntity.builder().param("workcode-" + userCode).result("成功").msg(authCode).modedate(TimeUtil.getCurrentTimeString()).build());
return user;
} else {
LogUtil.log(LoginLogEntity.builder().param("workcode-" + userCode).result("失败").msg("人员在oa不存在").modedate(TimeUtil.getCurrentTimeString()).build());
}
}
} catch (Exception e) {
LogUtil.log(LoginLogEntity.builder().param("authcode-" + authCode).result("失败").msg(e.getMessage()).modedate(TimeUtil.getCurrentTimeString()).build());
}
return null;
}

@ -0,0 +1,46 @@
package com.cloudstore.dev.api.util;
import com.cloudstore.dev.bean.LoginLogEntity;
import weaver.conn.RecordSet;
import weaver.formmode.setup.ModeRightInfo;
import weaver.general.BaseBean;
import weaver.general.ThreadPoolUtil;
import weaver.interfaces.dito.comInfo.PropBean;
import java.util.concurrent.ExecutorService;
/**
* @version 1.0
* @Title ecology-9
* @Company
* @CreateDate 2023/8/9
* @Description app
* @Author Lee
*/
public class LogUtil {
public static void log(LoginLogEntity logEntity) {
try {
Runnable runnable = new Runnable() {
@Override
public void run() {
String formModeId = PropBean.getUfPropValue("logEntityFormModeId");
String logEntityCustomId = PropBean.getUfPropValue("logEntityCustomId");
String logEntityTable = PropBean.getUfPropValue("logEntityTable");
RecordSet recordSet = new RecordSet();
String sql = "insert into " + logEntityTable + " (param,msg,result,formmodeid,modedate) values(?,?,?,?,?)";
recordSet.executeUpdate(sql, logEntity.getParam(), logEntity.getMsg(), logEntity.getResult(), formModeId, logEntity.getModedate());
//权限重构
ModeRightInfo ModeRightInfo = new ModeRightInfo();
ModeRightInfo.setNewRight(true);
ModeRightInfo.editModeDataShare(1, Integer.parseInt(formModeId), Integer.parseInt(logEntityCustomId));
}
};
ExecutorService threadPool = ThreadPoolUtil.getThreadPool(null, null);
threadPool.execute(runnable);
} catch (Exception e) {
new BaseBean().writeLog("LogUtil" + e.getMessage());
}
}
}

@ -0,0 +1,26 @@
package com.cloudstore.dev.bean;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @version 1.0
* @Title ecology-9
* @Company
* @CreateDate 2023/8/10
* @Description ${description}
* @Author Lee
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class LoginLogEntity {
private String param;
private String msg;
private String result;
private String formmodeid;
private String modedate;
}

@ -1,11 +1,14 @@
package com.engine.dito.ssologin.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.cloudstore.dev.api.util.LogUtil;
import com.cloudstore.dev.api.util.Util_DataCache;
import com.cloudstore.dev.bean.LoginLogEntity;
import com.engine.core.impl.Service;
import com.engine.dito.ssologin.service.MobileSsoLoginService;
import org.apache.commons.lang3.StringUtils;
import weaver.general.BaseBean;
import weaver.general.TimeUtil;
import weaver.hrm.User;
import weaver.interfaces.dito.comInfo.PropBean;
import weaver.interfaces.dito.util.HttpUtils;
@ -80,8 +83,9 @@ public class MobileSsoLoginServiceImpl extends Service implements MobileSsoLogin
Map<String, Object> dataMap = new HashMap<>();
BaseBean baseBean = new BaseBean();
baseBean.writeLog("getUserInfoStart");
String authCode = "";
try {
String authCode = (String) paramMap.get("auth_code");
authCode = (String) paramMap.get("auth_code");
String accessToken = (String) Util_DataCache.getObjVal(SSO_LOGIN_ACCESS_TOKEN);
if (StringUtils.isEmpty(accessToken)) {
accessToken = getAccessToken();
@ -110,6 +114,7 @@ public class MobileSsoLoginServiceImpl extends Service implements MobileSsoLogin
baseBean.writeLog("获取用户信息失败", dataJson.toString());
return dataMap;
} catch (Exception e) {
LogUtil.log(LoginLogEntity.builder().param("authCode-" + authCode).result("失败").msg("获取用户信息接口异常").modedate(TimeUtil.getCurrentTimeString()).build());
baseBean.writeLog("获取用户信息异常", e.getMessage());
dataMap.put("api_status", false);
dataMap.put("errorMsg", e.getMessage());

Loading…
Cancel
Save