Lesen merujuk kepada lesen hak cipta Selepas kami membangunkan sistem, jika kami tidak mahu pengguna menggunakannya secara percuma sepanjang masa, contohnya, memperbaharui berdasarkan masa, Lesen akan. menjadi berguna.
Kami boleh menentukan tempoh sah Lesen untuk sistem dan mengawal masa ketersediaan sistem.
Jadi untuk projek SpringBoot, bagaimana untuk menambah Lesen? Seterusnya, putera raja akan membawakan anda satu set penyelesaian. (Sudah tentu terdapat lebih daripada satu cara untuk melaksanakannya)
Alat ini telah dibungkus, dan rakan boleh memuat turun dan menggunakannya secara terus: https://gitee.com/ lm970585581/spring-boot2-license
Selepas memuat turun, buka projek cloud-license-serve dan mulakannya secara terus.
Kemudian hubungi antara muka pemerolehan maklumat projek: http://localhost:9081/license/getServerInfos?osName=windows
Anda akan mendapat hasil yang serupa dengan yang berikut, mewakili alamat ip, alamat mac , dan cpu masing-masing.
{ "ipAddress": [ "192.168.80.1", "192.168.220.1" ], "macAddress": [ "01-51-56-C0-00-01", "00-52-56-C0-00-08", "BC-54-2D-DF-69-FC" ], "cpuSerial": "BFECFBFF000806EC", "mainBoardSerial": "L1HF16301D5" }
Gunakan alat alat kekunci yang disertakan dengan JDK untuk menjana stor sijil kunci awam dan peribadi:
Jika kami menetapkan kata laluan stor kunci awam kepada: public_password1234 dan kata laluan stor kunci peribadi kepada: private_password1234, arahan penjanaan adalah seperti berikut:
#生成命令 keytool -genkeypair -keysize 1024 -validity 3650 -alias "privateKey" -keystore "privateKeys.keystore" -storepass "public_password1234" -keypass "private_password1234" -dname "CN=localhost, OU=localhost, O=localhost, L=SH, ST=SH, C=CN" #导出命令 keytool -exportcert -alias "privateKey" -keystore "privateKeys.keystore" -storepass "public_password1234" -file "certfile.cer" #导入命令 keytool -import -alias "publicCert" -file "certfile.cer" -keystore "publicCerts.keystore" -storepass "public_password1234"
Selepas arahan di atas dilaksanakan, tiga fail akan dijana dalam laluan semasa, iaitu: privateKeys.keystore, publicCerts.keystore dan certfile.cer. Fail certfile.cer tidak lagi diperlukan dan boleh dipadamkan Fail privateKeys.keystore digunakan dalam projek ServerDemo semasa untuk menjana fail lesen untuk pelanggan, manakala fail publicCerts.keystore digunakan ke pelayan pelanggan dengan kod aplikasi. Pengguna menyahsulit fail lesen dan mengesahkan maklumat lesennya.
Akhir sekali, kami menjana lesen dan alamat antara muka panggilan ialah: http://localhost:9081/license/generateLicense
Parameter panggilan ialah parameter json dengan format berikut:
{ "subject": "license_demo", "privateAlias": "privateKey", "keyPass": "private_password1234", "storePass": "public_password1234", "licensePath": "C:/Users/zifangsky/Desktop/license_demo/license.lic", "privateKeysStorePath": "C:/Users/zifangsky/Desktop/license_demo/privateKeys.keystore", "issuedTime": "2018-07-10 00:00:01", "expiryTime": "2019-12-31 23:59:59", "consumerType": "User", "consumerAmount": 1, "description": "这是证书描述信息", "licenseCheckModel": { "ipAddress": ["192.168.245.1", "10.0.5.22"], "macAddress": ["00-50-56-C0-00-01", "50-7B-9D-F9-18-41"], "cpuSerial": "BFEBFBFF000406E3", "mainBoardSerial": "L1HF65E00X9" } }
Jika permintaan berjaya, fail license.lic akan dijana pada laluan yang ditetapkan oleh parameter licensePath Fail ini ialah fail lesen pelayan untuk menggunakan kod kepada pelanggan.
Jika anda mengikuti langkah demi langkah di atas, kami telah memperoleh license.lic, dan langkah seterusnya ialah menggunakan lesen dalam projek kami sendiri.
cloud-license-client ialah contoh projek yang diimport Anda boleh membukanya dan menggunakannya secara terus.
Untuk memperkenalkan projek anda sendiri, hanya import fail berikut ke dalam
dan konfigurasikan pemintas LicenseCheckInterceptor untuk menggunakannya. Kaedah konfigurasi adalah dalam kelas InterceptorConfig, anda boleh merujuknya.
Perlu diingatkan di sini bahawa menggunakan lesen memerlukan dua fail: license.lic, publicCerts.keystore
Laluan yang dikonfigurasikan dalam projek demo ialah laluan mutlak Secara amnya, kami akan mengkonfigurasi relatif laluan dan letakkan dua Letakkan fail di bawah projek, dan lokasi konfigurasi berada dalam kelas LicenseCheckListener
Cuma ubah suai bahagian berikut untuk membacanya dengan laluan relatif
Saya tidak akan menunjukkan caranya di sini Diubah suai kerana ia mudah untuk diubah suai.
Satu lagi perkara yang perlu diambil perhatian:
Untuk kelas LicenseCheckModel dan LicenseCreatorParam, selepas memperkenalkannya kepada pelanggan anda sendiri, anda mesti memastikan bahawa nama pakej adalah konsisten dengan nama pakej semasa menjana lesen , jika tidak ia akan menyebabkan urutan Masalah kegagalan transformasi.
Atas ialah kandungan terperinci Bagaimana untuk memahami cara SpringBoot menjana Lesen. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!