찾다
Javajava지도 시간SpringBoot가 라이센스를 생성하는 방법을 이해하는 방법

머리말

라이센스는 저작권 라이센스를 의미합니다. 시스템을 개발한 후 사용자가 시간에 따라 갱신하는 등 항상 무료로 사용하기를 원하지 않는 경우 라이센스가 유용합니다.

시스템 라이센스의 유효 기간을 지정하고 시스템 사용 가능 시간을 제어할 수 있습니다.

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는 가져온 프로젝트의 예입니다. 이를 열고 직접 사용할 수 있습니다.

자신의 프로젝트를 소개하려면 다음 파일을 가져오고

SpringBoot가 라이센스를 생성하는 방법을 이해하는 방법

이를 사용하도록 인터셉터 LicenseCheckInterceptor를 구성하세요. 구성 방법은 InterceptorConfig 클래스에 있으므로 참조할 수 있습니다.

여기서 라이센스를 사용하려면 두 개의 파일이 필요합니다: License.lic, publicCerts.keystore

데모 프로젝트에서 구성된 경로는 절대 경로입니다. 일반적으로 우리는 상대 경로를 구성하고 두 파일을 LicenseCheckListener 클래스에서

다음 부분을 수정하고 상대 경로 읽기로 변경하면 됩니다.

SpringBoot가 라이센스를 생성하는 방법을 이해하는 방법

수정하기 쉽기 때문에 여기서는 수정 방법을 보여주지 않겠습니다.

한 가지 더 참고할 사항:

LicenseCheckModel 및 LicenseCreatorParam 클래스의 경우 클라이언트에 도입한 후 라이센스를 생성할 때 패키지 이름이 패키지 이름과 일치하는지 확인해야 합니다. 그렇지 않으면 직렬화 오류가 발생합니다.

위 내용은 SpringBoot가 라이센스를 생성하는 방법을 이해하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 亿速云에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경