我有五个应用程序驻留在服务器上。其中一些应用程序基于套接字(C / C ++),其他应用程序基于Web(Java,PHP)。我需要根据可以访问的用户数量,功能类型和用户类型为这些应用程序提供许可证。我应该使用什么样的商业模式?我有一些想法:
如果您有其他解决方案,请拍摄。
问候。
答案 0 :(得分:2)
解决方案#1可能是最优雅的解决方案,因为它集中了所有许可逻辑。任何更改都可以在一个地方完成。许可服务器的主要缺点(与#3等本地许可文件相比)是性能和对许可服务器可用性的依赖。如果许可服务器出现故障,您希望应用程序执行什么操作?阻止所有访问?暂时允许所有访问?
答案 1 :(得分:0)
我去过那里并做到了。我想就每种方法提出一些重要问题。
关键信息是您为什么要阻止未经许可的用户使用您的软件?这是一个向公众开放的应用程序吗?这是为了保护/支持销售和合同义务吗?您的用户是友好的(可能会意外添加新用户)还是恶意用户(会故意添加他们没有许可证的用户)?
您的客户是否可以访问您的软件配置?它运行的硬件?
创建将安装在许可证数据上的java webservice,以及 当用户登录任何服务器时,所有服务器都将与之通信 以上申请。
如果许可证服务器出现故障或运行缓慢,会发生什么?这会阻止登录吗?在每次登录时调用许可证服务器会减慢登录速度,足以惹恼用户吗?
谁将维持这项服务?谁将添加/更新许可证?
您如何确保与许可证服务器的通信安全?
执行基于套接字的服务器。
这与第一个选项的整体方法相同。你应该从“我有一个远程许可证服务器”的角度来考虑这一点。用于与该服务器通信的协议和技术很重要,但不如整体设计重要。
在每台服务器上安装一个lisence文件,并使每个服务器进行通信 它的文件单独作为许可证规则。
您将如何生成和分发这些许可证文件?您/您的支持团队会这样做还是客户?
您如何保护许可证文件?其中包含数字的许可证文件可以,但实际上并不足以实施许可限制。签名文件更好一步。加密安全的文件是最好的,但可能有点过分。