Przeglądaj źródła

Merge branch 'cherry-pick-a07e4b7a' into 'release'

Merge branch 'fix/补充微信、钉钉等单点认证审计日志' into 'wrdp'

See merge request o2oa/o2oa!2889
胡起 5 lat temu
rodzic
commit
f76ea7d7f6

+ 8 - 3
o2server/x_organization_assemble_authentication/src/main/java/com/x/organization/assemble/authentication/jaxrs/dingding/ActionLogin.java

@@ -6,10 +6,11 @@ import java.util.List;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import com.x.base.core.project.logger.Audit;
+import com.x.base.core.project.logger.Logger;
+import com.x.base.core.project.logger.LoggerFactory;
 import org.apache.commons.lang3.StringUtils;
 
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
 import com.x.base.core.container.EntityManagerContainer;
 import com.x.base.core.container.factory.EntityManagerContainerFactory;
 import com.x.base.core.entity.JpaObject;
@@ -25,10 +26,13 @@ import com.x.organization.core.entity.Person;
 
 class ActionLogin extends BaseAction {
 
+	private static Logger logger = LoggerFactory.getLogger(ActionLogin.class);
+
 	ActionResult<Wo> execute(HttpServletRequest request, HttpServletResponse response, EffectivePerson effectivePerson,
 			String code) throws Exception {
 		ActionResult<Wo> result = new ActionResult<>();
 		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
+			Audit audit = logger.audit(effectivePerson);
 			String url = "https://oapi.dingtalk.com/user/getuserinfo?access_token="
 					+ Config.dingding().corpAccessToken() + "&code=" + code;
 			String value = this.get(url);
@@ -66,6 +70,7 @@ class ActionLogin extends BaseAction {
 			wo.setToken(effective.getToken());
 			HttpToken httpToken = new HttpToken();
 			httpToken.setToken(request, response, effective);
+			audit.log(person.getDistinguishedName(), "登录");
 			result.setData(wo);
 		}
 		return result;
@@ -147,4 +152,4 @@ class ActionLogin extends BaseAction {
 		}
 	}
 
-}
+}

+ 4 - 1
o2server/x_organization_assemble_authentication/src/main/java/com/x/organization/assemble/authentication/jaxrs/qiyeweixin/ActionGetLogin.java

@@ -6,6 +6,7 @@ import java.util.List;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import com.x.base.core.project.logger.Audit;
 import org.apache.commons.lang3.StringUtils;
 
 import com.google.gson.Gson;
@@ -37,6 +38,7 @@ class ActionGetLogin extends BaseAction {
 			String code) throws Exception {
 		ActionResult<Wo> result = new ActionResult<>();
 		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
+			Audit audit = logger.audit(effectivePerson);
 			if (StringUtils.isEmpty(code)) {
 				throw new ExceptionCodeEmpty();
 			}
@@ -65,6 +67,7 @@ class ActionGetLogin extends BaseAction {
 			wo.setToken(effective.getToken());
 			HttpToken httpToken = new HttpToken();
 			httpToken.setToken(request, response, effective);
+			audit.log(person.getDistinguishedName(), "登录");
 			result.setData(wo);
 		}
 		return result;
@@ -102,4 +105,4 @@ class ActionGetLogin extends BaseAction {
 		}
 	}
 
-}
+}

+ 3 - 0
o2server/x_organization_assemble_authentication/src/main/java/com/x/organization/assemble/authentication/jaxrs/welink/ActionLogin.java

@@ -14,6 +14,7 @@ import com.x.base.core.project.http.ActionResult;
 import com.x.base.core.project.http.EffectivePerson;
 import com.x.base.core.project.http.HttpToken;
 import com.x.base.core.project.http.TokenType;
+import com.x.base.core.project.logger.Audit;
 import com.x.base.core.project.logger.Logger;
 import com.x.base.core.project.logger.LoggerFactory;
 import com.x.organization.assemble.authentication.Business;
@@ -39,6 +40,7 @@ public class ActionLogin extends BaseAction {
                              String code) throws Exception {
         ActionResult<Wo> result = new ActionResult<>();
         try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
+            Audit audit = logger.audit(effectivePerson);
             String url = "https://open.welink.huaweicloud.com/api/auth/v2/userid?code="+code;
             logger.info(url);
             List<NameValuePair> heads = new ArrayList<>();
@@ -63,6 +65,7 @@ public class ActionLogin extends BaseAction {
             wo.setToken(effective.getToken());
             HttpToken httpToken = new HttpToken();
             httpToken.setToken(request, response, effective);
+            audit.log(person.getDistinguishedName(), "登录");
             result.setData(wo);
         }
         return result;

+ 4 - 1
o2server/x_organization_assemble_authentication/src/main/java/com/x/organization/assemble/authentication/jaxrs/zhengwudingding/ActionLogin.java

@@ -24,6 +24,7 @@ import com.x.base.core.project.http.ActionResult;
 import com.x.base.core.project.http.EffectivePerson;
 import com.x.base.core.project.http.HttpToken;
 import com.x.base.core.project.http.TokenType;
+import com.x.base.core.project.logger.Audit;
 import com.x.base.core.project.logger.Logger;
 import com.x.base.core.project.logger.LoggerFactory;
 import com.x.organization.assemble.authentication.Business;
@@ -38,6 +39,7 @@ class ActionLogin extends BaseAction {
 			String code) throws Exception {
 		ActionResult<Wo> result = new ActionResult<>();
 		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
+			Audit audit = logger.audit(effectivePerson);
 			logger.debug("receive:{}", code);
 			String dingUserId = this.getDingUserId(code);
 			String userId = this.getUserIdByDingUserId(dingUserId);
@@ -54,6 +56,7 @@ class ActionLogin extends BaseAction {
 			wo.setToken(effective.getToken());
 			HttpToken httpToken = new HttpToken();
 			httpToken.setToken(request, response, effective);
+			audit.log(person.getDistinguishedName(), "登录");
 			result.setData(wo);
 		}
 		return result;
@@ -191,4 +194,4 @@ class ActionLogin extends BaseAction {
 		}
 	}
 
-}
+}