首页 > 代码库 > 授权点数控制

授权点数控制

生产环境中,往往需要控制允许安装客户端的机器数量。这里总结一种工作中遇到的思路。

 

概述

授权点数控制的目的是为了让软件产商能够对部署在外的软件做一些控制,也对商务上的操作提供了

一些方便(卖点数)。授权过程一般来说涉及到生产服务器,业务服务器,业务客户端。授权信息由生

产服务器生成,并最终于业务服务器和客户端完成校验。授权信息包括:授权点数,业务服务器,过

期时间等。

 

系统结构

生产服务器:运行在软件产商环境下的服务器,用于打包软件,生成授权信息(license文件),属于软件产商。

业务服务器:运行在客户环境下的后台服务器,用于检验license文件,控制点数,属于客户。

业务客户端:运行在客户环境下的客户端,用于请求业务服务器,上报自身状态,属于客户。

需要区分的是,生产服务器与业务服务器是不相同的。

 

生产过程

  1. 软件产商需要事先向客户获取业务服务器的唯一标识码,如MAC,硬盘序列号等信息。
  2. 将标识码,点数输入到生产服务器。并由生产服务器签名,输出一个license文件。
  3. 将业务服务器软件包,license文件打包,生产服务器公钥(public key)。

在步骤1中,绑定了业务服务器的唯一标识码,是为了限制生成的lisense文件,只能在指定的业务服务器上使用。

更换机器或者使用其他license文件,都将无法通过验证。

 

部署

通过生产过程,客户可获取的有:业务服务器软件包,业务客户端软件包,license文件,生产服务器公钥(public key)。

其中,license文件是和服务器包放在一起的。

 

工作

部署完成,应该是可以运行了。

  1. 启动服务器,通过生产服务器公钥(public key),验证license文件的合法性。若合法则对比license文件中的机器唯一标识与当前机器的标识。
  2. 安装客户端,安装过程中,将客户端机器唯一标识上报到服务器。并等等服务器响应。
  3. 服务器响应:验证license文件的合法性,并获取授权点数。比较授权点数与以上报的唯一标识数量(初始为0),若点数大于上报数量,则将上报信息记录下来。返回成功给客户端。

每次在新的机器上安装客户端软件包后,服务器端的机器唯一标识码记录将增加1条。直到数量超过授权点数,返回失败给客户端。进而导致客户端安装失败。

 

总结

此授权点数控制方法,重点并不在控制某台机器是否被允许接入,而是控制在接入的总数。其过程的细节,还有待进一步推敲。

 

 

 

 

授权点数控制