From 686fe55892de7bf8d206cddbead77a5fbdb0e091 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期日, 08 三月 2026 19:59:29 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/system/entity/license/CustomLicenseManager.java | 53 +++++++++++++++++++++++------------------------------
1 files changed, 23 insertions(+), 30 deletions(-)
diff --git a/src/main/java/com/zy/system/entity/license/CustomLicenseManager.java b/src/main/java/com/zy/system/entity/license/CustomLicenseManager.java
index f670480..0096748 100644
--- a/src/main/java/com/zy/system/entity/license/CustomLicenseManager.java
+++ b/src/main/java/com/zy/system/entity/license/CustomLicenseManager.java
@@ -1,6 +1,5 @@
package com.zy.system.entity.license;
-import com.core.common.Cools;
import de.schlichtherle.license.*;
import de.schlichtherle.xml.GenericCertificate;
import org.apache.logging.log4j.LogManager;
@@ -120,13 +119,23 @@
//1. 棣栧厛璋冪敤鐖剁被鐨剉alidate鏂规硶
super.validate(content);
- //2. 鐒跺悗鏍¢獙鑷畾涔夌殑License鍙傛暟
- //License涓彲琚厑璁哥殑鍙傛暟淇℃伅
- LicenseCheck expectedCheckModel = (LicenseCheck) content.getExtra();
- //褰撳墠鏈嶅姟鍣ㄧ湡瀹炵殑鍙傛暟淇℃伅
- LicenseCheck serverCheckModel = getServerInfos();
+ Object extra = content.getExtra();
+ LicenseCheck serverCheckModel = LicenseUtils.getServerInfos();
- if(expectedCheckModel != null && serverCheckModel != null){
+ if (serverCheckModel == null) {
+ throw new LicenseContentException("涓嶈兘鑾峰彇鏈嶅姟鍣ㄧ‖浠朵俊鎭�");
+ }
+
+ if (LicenseBindingSupport.isV2Extra(extra)) {
+ LicenseBindModel bindModel = LicenseBindingSupport.parseBindModel(extra);
+ if (!LicenseBindingSupport.matches(bindModel, serverCheckModel)) {
+ throw new LicenseContentException("褰撳墠鏈嶅姟鍣ㄤ笉鍦ㄦ巿鏉冭妭鐐硅寖鍥村唴");
+ }
+ return;
+ }
+
+ LicenseCheck expectedCheckModel = LicenseBindingSupport.parseLegacyLicenseCheck(extra);
+ if(expectedCheckModel != null){
//鏍¢獙IP鍦板潃
if(!checkIpAddress(expectedCheckModel.getIpAddress(),serverCheckModel.getIpAddress())){
throw new LicenseContentException("褰撳墠鏈嶅姟鍣ㄧ殑IP娌″湪鎺堟潈鑼冨洿鍐�");
@@ -183,26 +192,6 @@
}
/**
- * 鑾峰彇褰撳墠鏈嶅姟鍣ㄩ渶瑕侀澶栨牎楠岀殑License鍙傛暟
- */
- private LicenseCheck getServerInfos(){
- //鎿嶄綔绯荤粺绫诲瀷
- String osName = System.getProperty("os.name").toLowerCase();
- AbstractServerInfos abstractServerInfos = null;
-
- //鏍规嵁涓嶅悓鎿嶄綔绯荤粺绫诲瀷閫夋嫨涓嶅悓鐨勬暟鎹幏鍙栨柟娉�
- if (osName.startsWith("windows")) {
- abstractServerInfos = new WindowsServerInfos();
- } else if (osName.startsWith("linux")) {
- abstractServerInfos = new LinuxServerInfos();
- }else{//鍏朵粬鏈嶅姟鍣ㄧ被鍨�
- abstractServerInfos = new WindowsServerInfos();
- }
-
- return abstractServerInfos.getServerInfos();
- }
-
- /**
* 鏍¢獙褰撳墠鏈嶅姟鍣ㄧ殑IP/Mac鍦板潃鏄惁鍦ㄥ彲琚厑璁哥殑IP鑼冨洿鍐�<br/>
* 濡傛灉瀛樺湪IP鍦ㄥ彲琚厑璁哥殑IP/Mac鍦板潃鑼冨洿鍐咃紝鍒欒繑鍥瀟rue
*/
@@ -230,8 +219,8 @@
* 鏍¢獙褰撳墠鏈嶅姟鍣ㄧ‖浠讹紙涓绘澘銆丆PU绛夛級搴忓垪鍙锋槸鍚﹀湪鍙厑璁歌寖鍥村唴
*/
private boolean checkSerial(String expectedSerial,String serverSerial){
- if(!Cools.isEmpty(expectedSerial)){
- if(!Cools.isEmpty(serverSerial)){
+ if(!isBlank(expectedSerial)){
+ if(!isBlank(serverSerial)){
if(expectedSerial.equals(serverSerial)){
return true;
}
@@ -242,4 +231,8 @@
}
}
-}
\ No newline at end of file
+ private boolean isBlank(String value) {
+ return value == null || value.trim().isEmpty();
+ }
+
+}
--
Gitblit v1.9.1