原创 Windows安裝多個Tomcat部署項目

前言 在實際生產環境中,經常會有一個tomcat部署多個應用程序的場景,但多個項目應用同一個基礎框架時,會出現某些文件路徑相同的情況導致管理混亂(例如附件,日誌,緩存文件),並且更新有時需要關閉tomcat導致多個項目同時失效,本文提供同時

原创 從零開發基於ASM字節碼的Java代碼混淆插件XHood

項目背景 因在公司負責基礎框架的開發設計,所以針對框架源代碼的保護工作比較重視,之前也加入了一系列保護措施 例如自定義classloader加密保護,授權license保護等,但都是防君子不防小人,安全等級還比較低 經過調研各類加密混淆措施

原创 SpringBoot集成微信支付JSAPIV3保姆教程

前言 最近爲一個公衆號h5商城接入了微信支付功能,查找資料過程中踩了很多坑,以此文章記錄一下和大家分享 前期準備 公衆號認證 微信支付功能需要開通企業號並進行資質認證,費用一年300,且需企業營業執照等信息,對公賬戶打款驗證 登錄微信公衆平

原创 如何搭建虛擬專有網絡訪問公司內網

前言 因爲公司開發都是內網環境,以往居家辦公或非公司環境,都需要進行遠程到公司電腦進行辦公,爲了方便部門同事出差駐場開發,搭建了虛擬專有網絡 在實際搭建過程中使用了OpenVPN和SoftEtherVPN兩種方式,做個總結記錄,個人還是更推

原创 Java實現AWS S3 V4 Authorization自定義驗證

前言 最近在開發文件存儲服務,需要符合s3的協議標準,可以直接接入aws-sdk,本文針對sdk發出請求的鑑權信息進行重新組合再簽名驗證有效性,sdk版本如下 <dependency> <groupI

原创 SpringBoot集成SpringBootAdmin實現監控

效果展示 客戶端 maven引用 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spr

原创 SpringBoot訪問windows共享文件

前言 最近有項目需要開發檔案打包下載功能,其中包含很多大附件,項目使用minio存儲且不在同一臺服務器上,爲了優化速度決定使用windows共享功能進行文件傳輸 SMB1.0 集成jcifs類庫,主要適用於一些老舊系統,但下載速度比較慢,僅

原创 SpringBoot集成數據傳輸加密

前言 近期在對開發框架安全策略方面進行升級優化,提供一些通用場景的解決方案,本文針對前後端數據傳輸加密進行簡單的分享,處理流程設計如下圖所示,本加密方法對原有項目兼容性較好,只需要更換封裝好的加密Ajax請求方法,後端統一攔截判斷是否需要解

原创 web系統添加盲水印

前言 爲增加系統安全性,避免重要敏感信息通過截圖方式泄露,對web頁面增加盲水印標識,標註系統名稱,登陸人,當前時間等信息,這裏的盲水印指肉眼不可見的html水印 增加水印 引入watermark.js調用 watermark.load方法

原创 SpringBoot集成onlyoffice實現word文檔編輯保存

說明 onlyoffice爲一款開源的office在線編輯組件,提供word/excel/ppt編輯保存操作 以下操作均基於centos8系統,officeonly鏡像版本7.1.2.23 鏡像下載地址:https://yunpan.36

原创 SpringBoot集成ffmpeg實現視頻轉碼播放

背景 之前構建過文件預覽服務,對於視頻部分前端播放組件限制只能爲mp4格式,爲了支持更多視頻格式決定對方案進行升級,由於視頻格式較多,針對每一種格式定製選擇播放器不太現實,決定對視頻源統一轉碼,轉碼後的格式爲mp4,兼容性穩定且前後端改造工

原创 linux部署jar包腳本和註冊開機啓動

前言 之前開發了windows部署jar包爲服務的工具在實際生產環境中使用非常簡單方便,公司部分項目是部署在linux系統中的,所以決定整合一個通用的jar包部署腳本,並註冊爲開機啓動服務,爲開發實施的同事提供方便,以下操作實際系統環境爲c

原创 部署jar包windows服務工具

背景 某個週末一個線上項目因爲服務器自動重啓導致了系統掛了,我們是通過jenkins部署的jar包所以需要手動重啓項目,解決問題後準備調換部署方式讓項目隨系統自動啓動,試用tomcat後發現啓動慢,並且日常開發springboot都是使用內

原创 SpringBoot實現自定義路由覆蓋

背景 公司最近有一個項目二期需要對一些功能進行改造,涉及部分框架內置業務接口個性化定製,兼容老接口功能並且增加一部分新的數據返回,由於前端調用這些接口分佈較多且較爲零碎,修改測試成本較大,所以打算在框架層面提供路由覆蓋功能,加快項目進度減少

原创 knife4j通過js動態刷新全局參數

背景 之前在爲框架集成knife4j接口調試查看工具,使用了一段時間,使用體驗上比較繁瑣,因爲接口都需要token,所以每次都要去f12查看token複製再創建全局參數,可能我只需要測試一個接口但是步驟少不了,針對此問題框架做了一些優化 設