From 9388b1d64f4b5da813857f9939f32018e5e2681c Mon Sep 17 00:00:00 2001 From: zyx <zyx123456> Date: 星期一, 09 十月 2023 10:40:44 +0800 Subject: [PATCH] Merge branch 'tzskasrs' of http://47.97.1.152:5880/r/zy-asrs into tzskasrs --- src/main/java/com/zy/system/entity/license/LicenseCheckListener.java | 94 +++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 94 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/zy/system/entity/license/LicenseCheckListener.java b/src/main/java/com/zy/system/entity/license/LicenseCheckListener.java new file mode 100644 index 0000000..1659df2 --- /dev/null +++ b/src/main/java/com/zy/system/entity/license/LicenseCheckListener.java @@ -0,0 +1,94 @@ +package com.zy.system.entity.license; + +import com.core.common.Cools; +import de.schlichtherle.license.LicenseContent; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationListener; +import org.springframework.context.event.ContextRefreshedEvent; +import org.springframework.stereotype.Component; + +import java.io.File; + +/** + * 鍦ㄩ」鐩惎鍔ㄦ椂瀹夎璇佷功 + */ +@Component +public class LicenseCheckListener implements ApplicationListener<ContextRefreshedEvent> { + private static Logger logger = LogManager.getLogger(LicenseCheckListener.class); + + /** + * 璇佷功subject + */ + @Value("${license.subject}") + private String subject; + + /** + * 鍏挜鍒О + */ + @Value("${license.publicAlias}") + private String publicAlias; + + /** + * 璁块棶鍏挜搴撶殑瀵嗙爜 + */ + @Value("${license.storePass}") + private String storePass; + + /** + * 璇佷功鐢熸垚璺緞 + */ + @Value("${license.licensePath}") + private String licensePath; + + /** + * 瀵嗛挜搴撳瓨鍌ㄨ矾寰� + */ + @Value("${license.publicKeysStorePath}") + private String publicKeysStorePath; + + @Override + public void onApplicationEvent(ContextRefreshedEvent event) { + //root application context 娌℃湁parent + ApplicationContext context = event.getApplicationContext().getParent(); + if(context == null){ + loadLicense(); + } + } + + //鍔犺浇璇佷功 + public boolean loadLicense() { + if(!Cools.isEmpty(licensePath)){ + logger.info("++++++++ 寮�濮嬪姞杞借鍙瘉 ++++++++"); + + try { + String publicKeysStoreFileName = this.getClass().getClassLoader().getResource(publicKeysStorePath).getPath(); + File publicKeysStoreFile = new File(publicKeysStoreFileName); + + String licensePathFileName = this.getClass().getClassLoader().getResource(licensePath).getPath(); + File licensePathFile = new File(licensePathFileName); + + LicenseVerifyParam param = new LicenseVerifyParam(); + param.setSubject(subject); + param.setPublicAlias(publicAlias); + param.setStorePass(storePass); + param.setLicensePath(licensePathFile.getPath()); + param.setPublicKeysStorePath(publicKeysStoreFile.getPath()); + + LicenseVerify licenseVerify = new LicenseVerify(); + //瀹夎璇佷功 + LicenseContent install = licenseVerify.install(param); + + logger.info("++++++++ 璁稿彲璇佸姞杞界粨鏉� ++++++++"); + + return install != null; + } catch (Exception e) { + return false; + } + } + + return false; + } +} \ No newline at end of file -- Gitblit v1.9.1