JAVA项目实现授权部署 (一)
如果项目部署到服务器上,需要当前服务器授权后才能正常访问,也就是说,控制项目的部署位置。当项目部署完成,进行访问时,忽然弹出了下边的小窗口。
看起来挺高大上的,没有授权码,就算部署到这个服务器上,也没法用,实现这个功能不是很复杂。
可以有如下步骤的方法来简单实现:
1、 代码里,通过系统名称 + 物理地址+硬盘序号等等一些能区别服务器的参数作为源,来加密成一个申请码,也就是上图中的那串,在项目初次访问会因为验证授权失败返回这个申请码。
2、用户把这个申请码发给授权人,一般我们会做成一个授权软件,在该授权软件里,将这个申请码,通过相同的方法,反解析成系统名称 + 物理地址+硬盘序号,然后再将得到的系统名称 + 物理地址+硬盘序号 ,拼上一个授权截止时间 ,最后,再通过另一种方式加密成一个授权码。
3、用户拿到授权码后,填到上图的授权码位置,保存后,服务器会将这个授权码保存起来,或者保存到一个固定文件里,或者保存到数据库里。
4、当用户再次访问系统时,会去保存授权码的地方,拿到授权码,并反解析成系统名称 + 物理地址+硬盘序号+截止时间,这里叫baseCode,然后,将实际的服务器系统名称 + 物理地址+硬盘序号 ,这里叫loginCode ,通过对baseCode 和loginCode 的相互比较,另外加上截止时间 是否过期,来判断是否能验证成功,如果成功,才能通过验证。
5、 这里也能看出来,即使,能拿到其他授权机器上的授权码也没用,因为相互之间的物理地址、硬盘序号 是不一样的,除了改代码,没法通过验证。
再配一张详细的步骤图方便大家理解:
以上是实现的说明,下一篇我会贴出具体的代码,写完之后链接会放到这里。最多两天后。