license.md 2.5 KB

说明

license授权包含2部分内容:

  1. 授权校验只针对gmetry-system模块的登录接口做校验(拦截器方式);
    platomix-gmetry-framework模块中:org.springblade.core.config.SecureConfiguration#licenseInterceptor()
  2. 校验内容包含如下几部分内容:
    • 开发环境和未开启license授权不校验,开启方式(默认开启状态):blade.license.enabled=true
    • 会校验服务器的CPU序列号和主板序列号,以及过期时间【序列号获取方式见下面】,校验代码如下:
      platomix-gmetry-framework模块中:org.springblade.core.license.LicenseManager#validateOfLogin()
    • 一定保证有License授权文件存在,路径配置方式:blade.license.filePath,对授权文件名没有要求,一般可以使用:lincese_key或lincese.key;
    • 授权文件的内容是通过RSA加密<2个序列号和过期时间>得到的字符串。LicenseManager的main方法打开注释,填写获取到的2个序列号和过期时间,其他无效的字段可以注释掉,执行main方法得到加密后的字符串,写入到授权文件中,加密代码如下:
      platomix-gmetry-framework模块中:org.springblade.core.license.LicenseManager#main()

1.客户获取服务器信息(CPU和主板序列号)

Linux环境执行命令:

//cpu序列号
dmidecode -t processor | grep 'ID' | awk -F ':' '{print $2}' | head -n 1

//主板序列号
dmidecode | grep 'Serial Number' | awk -F ':' '{print $2}' | head -n 1

Windows环境执行命令:

//cpu序列号
wmic cpu get processorid  

//主板序列号
wmic baseboard get serialnumber

Mac环境执行命令:

//cpu序列号
system_profiler SPHardwareDataType | fgrep 'UUID' | awk '{print $NF}'

//主板序列号
system_profiler SPHardwareDataType | fgrep 'Serial' | awk '{print $NF}'

2.授权文件说明

  1. 加密方式
    通过RSA加密【<主板序列号,CPU序列号,过期时间>生成的json字符串】,生成一个加密串;最后把加密字符串写入到授权文件中。
    platomix-gmetry-framework模块中:org.springblade.core.license.LicenseManager#main()
  2. 配置方式
    配置仅对gmetry-system项目模块有效。
    把授权文件挂载到gmetry-system服务模块的容器下,然后添加如下配置,重启项目后查看log日志打印"结束校验Lincese"表示成功。
blade.license.filePath=/dockerDir/lincese/lincese_key

#如果禁用license校验,可以通过配置关闭。【默认开启状态】
blade.license.enabled=false