라이센스는 저작권 라이센스를 의미합니다. 시스템을 개발한 후 사용자가 시간에 따라 갱신하는 등 항상 무료로 사용하기를 원하지 않는 경우 라이센스가 유용합니다.
시스템 라이센스의 유효 기간을 지정하고 시스템 사용 가능 시간을 제어할 수 있습니다.
SpringBoot 프로젝트의 경우 라이선스를 어떻게 추가하나요? 다음으로, 왕자는 당신에게 일련의 해결책을 가져올 것입니다. (물론 이를 구현하는 방법은 여러 가지가 있습니다)
가 패키지되어 있으며 친구들이 직접 다운로드하여 사용할 수 있습니다: https://gitee.com/lm970585581/spring-boot2-license
다운로드 후 클라우드 라이선스 오픈 - 서브 프로젝트를 바로 시작할 수 있습니다.
그런 다음 프로젝트의 정보 획득 인터페이스를 호출합니다: http://localhost:9081/license/getServerInfos?osName=windows
IP 주소, Mac 주소, CPU 일련 번호 및 각각 마더보드 일련 번호입니다.
{ "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" }
JDK와 함께 제공되는 keytool 도구를 사용하여 공개 및 개인 키 인증서 저장소를 생성하세요.
공개 키 저장소 비밀번호를 public_password1234로 설정하고 개인 키 저장소 비밀번호를 private_password1234로 설정하면 생성된 명령은 다음과 같습니다. :
#生成命令 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"
위 명령이 실행되면 현재 경로에 privateKeys.keystore, publicCerts.keystore 및 certfile.cer이라는 세 개의 파일이 생성됩니다. certfile.cer 파일은 더 이상 필요하지 않으며 삭제할 수 있습니다. privateKeys.keystore 파일은 현재 ServerDemo 프로젝트에서 고객을 위한 라이센스 파일을 생성하는 데 사용되는 반면, publicCerts.keystore 파일은 애플리케이션 코드와 함께 고객 서버에 배포됩니다. 사용자는 라이센스 파일을 해독하고 해당 라이센스 정보를 확인합니다.
마지막으로 라이센스를 생성하고 호출 인터페이스 주소는 다음과 같습니다. http://localhost:9081/license/generateLicense
호출 매개변수는 다음 형식의 json 매개변수입니다.
{ "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" } }
요청이 성공하면 LicensePath 매개변수는 최종적으로 다음과 같습니다. 설정된 경로는 고객에게 코드를 배포하기 위한 서버 라이센스 파일인 License.lic 파일을 생성합니다.
위의 단계를 차근차근 따라하시면 우리는 License.lic를 얻었고, 다음 단계는 우리의 프로젝트에서 그 라이선스를 사용하는 것입니다.
cloud-license-client는 가져온 프로젝트의 예입니다. 이를 열고 직접 사용할 수 있습니다.
자신의 프로젝트를 소개하려면 다음 파일을 가져오고
이를 사용하도록 인터셉터 LicenseCheckInterceptor를 구성하세요. 구성 방법은 InterceptorConfig 클래스에 있으므로 참조할 수 있습니다.
여기서 라이센스를 사용하려면 두 개의 파일이 필요합니다: License.lic, publicCerts.keystore
데모 프로젝트에서 구성된 경로는 절대 경로입니다. 일반적으로 우리는 상대 경로를 구성하고 두 파일을 LicenseCheckListener 클래스에서
다음 부분을 수정하고 상대 경로 읽기로 변경하면 됩니다.
수정하기 쉽기 때문에 여기서는 수정 방법을 보여주지 않겠습니다.
한 가지 더 참고할 사항:
LicenseCheckModel 및 LicenseCreatorParam 클래스의 경우 클라이언트에 도입한 후 라이센스를 생성할 때 패키지 이름이 패키지 이름과 일치하는지 확인해야 합니다. 그렇지 않으면 직렬화 오류가 발생합니다.
위 내용은 SpringBoot가 라이센스를 생성하는 방법을 이해하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!