From c43b9d04dea89ee0adf731ce46c4f48eed11ffb9 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期一, 18 九月 2023 10:34:48 +0800
Subject: [PATCH] 代码提交

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java       |   29 +++++++++++++++++++----------
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSyncUniversalController.java    |    8 ++++++--
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IPasswordFreeLoginService.java         |    5 ++---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java |   17 +++++++++++------
 4 files changed, 38 insertions(+), 21 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSyncUniversalController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSyncUniversalController.java
index 585558a..61bc9e2 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSyncUniversalController.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSyncUniversalController.java
@@ -23,15 +23,18 @@
 @RestController
 @RequestMapping("/codeSyncUniversalController")
 public class CodeSyncUniversalController {
+
 	/**
 	 * 鏃ュ織
 	 */
 	private Logger logger = LoggerFactory.getLogger(getClass());
+
 	/**
 	 * 鎺ュ彛闆嗘垚鏈嶅姟
 	 */
 	@Autowired
 	private UniversalInterfaceI universalInterfaceI;
+
 	/****
 	 * 鐢宠鎺ュ彛
 	 * @param dataString 灞炴�т俊鎭�
@@ -40,8 +43,9 @@
 	 * @throws Throwable
 	 */
 	@PostMapping("/applyCode")
-	public String applyCode(@RequestParam("dataString")String dataString, @RequestParam("dataType")String dataType)  {
+	public String applyCode(@RequestParam("dataString")String dataString, @RequestParam("dataType")String dataType, ServletRequest request)  {
 		String result="";
+		HttpServletRequest httpServletRequest = (HttpServletRequest) request;
 		try {
 			result = universalInterfaceI.applyCode(dataString, dataType);
 		}catch (Throwable e){
@@ -50,6 +54,7 @@
 		}
 		return result;
 	}
+
 	/****
 	 * 鏇存柊/鍒犻櫎/鐘舵�佹帴鍙�
 	 * @param dataString 灞炴�т俊鎭�
@@ -68,7 +73,6 @@
 		}
 		return result;
 	}
-
 
 	/****
 	 * 鏌ヨ鍒嗙被鍙�
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IPasswordFreeLoginService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IPasswordFreeLoginService.java
index b7f5780..b50482a 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IPasswordFreeLoginService.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IPasswordFreeLoginService.java
@@ -3,7 +3,6 @@
 import org.apache.http.auth.AuthenticationException;
 
 import javax.servlet.ServletRequest;
-import javax.servlet.http.HttpServletRequest;
 
 /**
  * 鍏嶅瘑鐧诲綍鏈嶅姟
@@ -21,9 +20,9 @@
 
 	/**
 	 * 鍏嶅瘑鐧诲綍鏂规硶
-	 * @param username 璐﹀彿
+	 * @param userName 璐﹀彿
 	 * @return
 	 */
-	boolean passwordFreeLogin(String username, ServletRequest request) throws AuthenticationException;
+	boolean passwordFreeLogin(String userName, ServletRequest request) throws AuthenticationException;
 
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java
index fbedf76..1457d0a 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java
@@ -44,10 +44,15 @@
 	// 閫氳繃鏈嶅姟娉ㄥ唽涓績鑾峰彇缃戝叧鐨勭鍙e彿
 	@Autowired
 	private DiscoveryClient discoveryClient;
-	@Value("${user-info.pwd-free-tenant-id}")
+	// 閰嶇疆鐨勫厤瀵嗙櫥褰曠殑璐﹀彿鎵�灞炵殑绉熸埛id
+	@Value("${password-free.pwd-free-tenant-id}")
+	// 閰嶇疆鐨則oken鍦╮edis涓殑鐢熷瓨鏃堕棿
 	private String pwdFreeTenantId;
+	@Value("${password-free.token-redis-expire}")
+	private Long tokenRedisExpire;
 	@Autowired
 	private BladeRedis bladeRedis;
+
 	// 缂撳瓨鍚�
 	public static final String PWD_FREE_LOGIN_TOKEN = "pwdFreeLogin:Token:";
 	private static JwtProperties jwtProperties;
@@ -68,17 +73,17 @@
 
 	/**
 	 * 鍏嶅瘑鐧诲綍锛屾敼鍙樺綋鍓峸ebservice璇锋眰鐨刪eader
-	 * @param username 璐﹀彿
+	 * @param userName 璐﹀彿
 	 * @return
 	 */
 	@Override
-	public boolean passwordFreeLogin(String username, ServletRequest servletRequest) throws AuthenticationException {
+	public boolean passwordFreeLogin(String userName, ServletRequest servletRequest) throws AuthenticationException {
 		//杩涙潵鍏堝垽鏂紦瀛樹腑鏄惁瀛樺湪token
 		// 璇锋眰鏉ヨ嚜宸卞摢涓猧p鍦板潃
 		HttpServletRequest request = (HttpServletRequest) servletRequest;
 		String ipAddr = request.getRemoteAddr();
 		// 鍏堝皾璇曚粠缂撳瓨褰撲腑鍙栵紝瀛樺湪灏辩洿鎺ヤ粠缂撳瓨涓幏鍙�
-		String authToken = bladeRedis.get(PWD_FREE_LOGIN_TOKEN+ipAddr);
+		String authToken = bladeRedis.get(PWD_FREE_LOGIN_TOKEN+ipAddr+":"+userName);
 		BladeUser user = null;
 		//涓嶅瓨鍦ㄥ氨璇锋眰
 		if(Func.isEmpty(authToken)){
@@ -91,7 +96,7 @@
 			headers.set("Tenant-Id", pwdFreeTenantId);
 			//璁剧疆璇锋眰浣撳弬鏁�
 			MultiValueMap<String,String> parameters = new LinkedMultiValueMap<String,String>();
-			parameters.add("username",username);
+			parameters.add("username",userName);
 			parameters.add("grant_type", "passwordfree");
 			parameters.add("scope", "all");
 			parameters.add("type", "account");
@@ -112,7 +117,7 @@
 			// 鎷兼帴token鏍煎紡
 			authToken = "bearer " + tokenUserObject.getAccess_token();
 			// 灏唗oken瀛樺叆缂撳瓨褰撲腑,杩囨湡鏃堕棿涓�24灏忔椂
-			bladeRedis.setEx(PWD_FREE_LOGIN_TOKEN+ipAddr,"bearer "+tokenUserObject.getAccess_token(),60*60*60*24L);
+			bladeRedis.setEx(PWD_FREE_LOGIN_TOKEN+ipAddr+":"+userName,"bearer "+tokenUserObject.getAccess_token(),tokenRedisExpire);
 		}
 		// 瑙f瀽token瀛樻斁杩沘ttr涓�
 		String token2 = JwtUtil.getToken(authToken);
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
index 15415e2..540121c 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
@@ -53,17 +53,16 @@
 import com.vci.ubcs.system.vo.DeptVO;
 import com.vci.ubcs.system.vo.RoleVO;
 import lombok.extern.slf4j.Slf4j;
-import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
+
 import javax.annotation.Resource;
 import javax.jws.WebMethod;
-import javax.servlet.ServletRequest;
 import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.core.Context;
 import javax.xml.ws.WebServiceContext;
 import javax.xml.ws.handler.MessageContext;
 import java.util.*;
@@ -81,20 +80,25 @@
 @Slf4j
 @VciWebservice(path = "/universalInterface")
 public class UniversalInterfaceImpl<IDockingLogeServiceing> implements UniversalInterfaceI {
+
 	@Value("${code.universalinterface.checkSystemConfig:true}")
 	public boolean CODE_CHECKCONFIG;
+
 	@Autowired(required = false)
 	private AttributeMapConfig attributeMapConfig;
+
 	/***
 	 * 浜哄憳鐩稿叧閰嶇疆鏈嶅姟
 	 */
 	@Autowired(required = false)
 	private PersonAndDeptConfig personAndDeptConfig;
+
 	/**
 	 * 缂撳瓨鏈嶅姟
 	 */
 	//@Autowired
 	//private RedisService redisService;
+
 	/**
 	 * 涓婚搴撳垎绫荤殑鏈嶅姟
 	 */
@@ -134,7 +138,6 @@
 	/**
 	 * 瀵嗙骇鐨勬湇鍔�
 	 */
-
 	@Resource
 	private MdmIOService mdmIOService;
 
@@ -164,7 +167,7 @@
 	@WebMethod
 	public HttpServletRequest getRequest() {
 		// 鑾峰彇HttpServletRequest瀵硅薄
-		HttpServletRequest request = (HttpServletRequest) webServiceContext.getMessageContext().get(MessageContext.SERVLET_REQUEST);
+		HttpServletRequest request = (HttpServletRequest)webServiceContext.getMessageContext().get(MessageContext.SERVLET_REQUEST);
 		return request;
 	}
 
@@ -210,7 +213,7 @@
 			ClassfysVO classfysVO = interParameterVO.getData().getClassifys();
 			systemId = interParameterVO.getData().getSystemId();
 			UserVO userVo = interParameterVO.getData().getUser();
-			//鍏嶅瘑鐧诲綍鐢宠token锛宧eader寰�token涓坊鍔�
+			//鍏嶅瘑鐧诲綍鐢宠token锛宺equest涓坊鍔犵敤鎴蜂俊鎭�
 			passwordFreeLoginService.passwordFreeLogin(userVo.getUserName(),this.getRequest());
 			List<ClassfyVO> classVOList = classfysVO.getClassify();
 			InterParameterVO finalInterParameterVO = interParameterVO;
@@ -362,8 +365,6 @@
 		//璋冪敤闆嗗洟鐢宠鎺ュ彛鐢宠闆嗗洟鐮�
 		return resultStr;
 	}
-
-
 
 	/****
 	 * 浜哄憳鏁版嵁鍚屾
@@ -637,6 +638,7 @@
 
 		return resultOrgData;
 	}
+
 	/****
 	 * 閮ㄩ棬鏁版嵁鍚屾
 	 * @param orgData
@@ -903,6 +905,7 @@
 		}
 		return resultOrgData;
 	}
+
 	/***
 	 * 缁熶竴鏇存柊鎺ュ彛锛堟洿鏀圭姸鎬侊紝鏇存敼灞炴�т俊鎭級鎺ュ彛
 	 * @param data
@@ -947,6 +950,8 @@
 			ClassfysVO classfysVO = interParameterVO.getData().getClassifys();
 			systemId = interParameterVO.getData().getSystemId();
 			UserVO userVo = interParameterVO.getData().getUser();
+			//鍏嶅瘑鐧诲綍鐢宠token锛宺equest涓坊鍔犵敤鎴蜂俊鎭�
+			passwordFreeLoginService.passwordFreeLogin(userVo.getUserName(),this.getRequest());
 			List<ClassfyVO> classVOList = classfysVO.getClassify();
 			InterParameterVO finalInterParameterVO = interParameterVO;
 			//杩欐槸璐﹀彿淇℃伅
@@ -1118,6 +1123,8 @@
 			}
 			QueryData queryData=queryClassifyVO.getData();
 			UserVO userVo=queryData.getUser();
+			//鍏嶅瘑鐧诲綍鐢宠token锛宺equest涓坊鍔犵敤鎴蜂俊鎭�
+			passwordFreeLoginService.passwordFreeLogin(userVo.getUserName(),this.getRequest());
 			systemId=queryData.getSystemId();
 			QueryLibraryVO libraryVO= queryData.getLibrary();
 			String libId= libraryVO.getId();
@@ -1276,6 +1283,8 @@
 			CondtionsVO condtionsVO=dataCondtionsVO.getCondtions();
 			systemId=condtionsVO.getSystemId();
 			UserVO userVo=condtionsVO.getUser();
+			//鍏嶅瘑鐧诲綍鐢宠token锛宺equest涓坊鍔犵敤鎴蜂俊鎭�
+			passwordFreeLoginService.passwordFreeLogin(userVo.getUserName(),this.getRequest());
 			CondtionVO condtionVO= condtionsVO.getCondtion();
 			SessionInfo sessionInfo = new SessionInfo();
 			sessionInfo.setUserId(userVo.getUserName());
@@ -1452,8 +1461,6 @@
 		return resultStr;
 	}
 
-
-
 	@Override
 	public String queryClassifyRule(String data, String dataType) throws Throwable {
 
@@ -1492,6 +1499,8 @@
 			}
 			QueryData queryData=queryClassifyVO.getData();
 			UserVO userVo=queryData.getUser();
+			//鍏嶅瘑鐧诲綍鐢宠token锛宺equest涓坊鍔犵敤鎴蜂俊鎭�
+			passwordFreeLoginService.passwordFreeLogin(userVo.getUserName(),this.getRequest());
 			systemId=queryData.getSystemId();
 			QueryLibraryVO libraryVO= queryData.getLibrary();
 			String libId= libraryVO.getId();

--
Gitblit v1.9.3