我的任务是为Java应用程序提供某种形式的网络许可控制。该应用程序将存储在网络驱动器上,并从客户机上运行。基本思想是,它将能够计算出并发运行的次数,并防止N+1th用户运行软件,其中N是客户购买的并发许可证的数量。
在Java应用程序中,这是可能的吗?我实现了一个“解决方案”,它依赖于应用程序运行实例之间的多播UDP通信,但这并不起作用,因为在大多数网络上,这种通信都会被安全措施阻止。
有没有更好的方法?我甚至不介意它是否需要JNI/JNA。
注意:解决方案不一定要那么复杂或高度安全。
发布于 2012-06-17 17:18:31
我建议您使用现有的商业许可管理产品,如FlexLM。这是值得怀疑的,你是否会节省任何钱,通过实施自制的替代品。
注意:解决方案不一定要那么复杂或高度安全。
如果它不安全,那还有什么意义?
(您可能已经知道,构建一个无法解决或以某种方式禁用的许可系统是不可能的。对于你的客户来说,许可证管理是一件痛苦的事情……甚至是你自己,因为你必须提供额外的客户支持。还有一个问题是,您需要混淆您的代码,这会给您的客户带来额外的烦恼,并为您带来支持方面的痛苦。)
https://stackoverflow.com/questions/11070177
复制相似问题