Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何授权网络应用程序?_Java_Web Services_Soap_Licensing_Project Management - Fatal编程技术网

Java 如何授权网络应用程序?

Java 如何授权网络应用程序?,java,web-services,soap,licensing,project-management,Java,Web Services,Soap,Licensing,Project Management,我有五个应用程序驻留在服务器上。其中一些应用程序是基于套接字(C/C++)的,另一些是基于web的(Java、PHP)。我需要根据可以访问的用户数量、功能类型和用户类型授予这些应用程序的许可证。我应该使用什么样的商业模式?我有几点想法: 创建将装载在许可证数据上的java Web服务,以及 当用户登录任何一个服务器时,所有服务器都将与之通信 上述应用程序 做一个基于套接字的服务器 在每台服务器上安装一个lisence文件,并使每台服务器进行通信 单独使用其文件,并作为许可证规则 如果你有其他解决

我有五个应用程序驻留在服务器上。其中一些应用程序是基于套接字(C/C++)的,另一些是基于web的(Java、PHP)。我需要根据可以访问的用户数量、功能类型和用户类型授予这些应用程序的许可证。我应该使用什么样的商业模式?我有几点想法:

  • 创建将装载在许可证数据上的java Web服务,以及 当用户登录任何一个服务器时,所有服务器都将与之通信 上述应用程序
  • 做一个基于套接字的服务器
  • 在每台服务器上安装一个lisence文件,并使每台服务器进行通信 单独使用其文件,并作为许可证规则
  • 如果你有其他解决方案,请开枪


    关于。

    解决方案#1可能是最优雅的解决方案,因为它集中了所有许可逻辑。任何更改都可以在一个地方完成。许可服务器的主要缺点(与像#3这样的本地许可文件相比)是性能和对许可服务器可用性的依赖。如果授权服务器关闭,您希望应用程序做什么?封锁所有通道?暂时允许所有访问吗?

    我已经在那里做过了。我想就每种方法提出一些引导性问题

    一个关键信息是,为什么您要阻止未经许可的用户使用您的软件?这是向公众开放的申请吗?这是为了保护/支持销售和合同义务吗?您的用户是友好的(可能会意外添加新用户)还是敌对的(会故意添加他们没有许可证的用户)

    您的客户是否有权访问您的软件配置?它运行在什么硬件上

    创建将装载在许可证数据上的java Web服务,以及 当用户登录任何一个服务器时,所有服务器都将与之通信 上述应用程序

    如果许可证服务器停机或运行缓慢,会发生什么情况?这会阻止登录吗?每次登录时调用许可证服务器是否会降低登录速度,足以让用户感到烦恼

    谁将维持这项服务?谁将添加/更新许可证

    您将如何保护与许可证服务器的通信

    做一个基于套接字的服务器

    这与第一个选项的总体方法相同。您应该从“我有一个远程许可证服务器”的角度来考虑这一点。用于与该服务器通信的协议和技术很重要,但不如总体设计重要

    在每台服务器上安装一个lisence文件,并使每台服务器与 它的文件是单独的,并作为许可证规则

    您将如何生成和分发这些许可文件?您/您的支持团队或客户会这样做吗


    您将如何保护许可证文件?一个带有数字的许可证文件就可以了,但它不足以真正实施许可限制。签名文件是更好的一步。加密安全的文件是最好的,但可能有点过分。

    事实上,我需要阻止所有访问,因为关闭服务器意味着:我们没有操作许可证,先生!我们这样做的主要原因是:客户自己可能会关闭它或玩它…等等。请您对您的答案给出更多的解释和解释,我认为您是对的,因为我需要讨论很多@格雷普:你能解释一下,你为什么选择第一个而不是其他的吗?Regards客户可能有很多用户,但有具体数量的许可证。我从许可证中得到的是只允许允许允许数量的用户登录。我正在考虑将许可证服务器放在客户站点上,而不是放在所有其他服务器上。如果客户需要更多的用户登录,他需要购买更多的许可证,你明白了吗?如果许可证服务器关闭,所有其他应用程序将不再允许用户登录,系统将停止允许任何功能运行。如果你要求客户运行许可证服务器,你正在运行。单独的许可证服务器是另一种用于安装、运行、维护和监视的软件。通过强制软件在每次登录时访问许可证服务器,一个小问题会关闭许可证服务器,然后会禁用所有其他软件。是的,您是正确的,但考虑到以下细节,我认为中央许可证服务器更好:我认为您设计的问题过多。建立一个完整的授权服务/服务器,如果它出现故障,可能会导致其他服务停机,这将导致灾难。为什么不创建一个许可证文件,说明有多少用户可以同时使用该软件,用PGP密钥签名,然后将其上传到该软件中呢。软件验证签名(因此它只能来自您),然后设置最大用户数。