spring应用中的DRM

spring应用中的DRM,spring,drm,Spring,Drm,向JavaSpring应用程序添加数字版权管理的可能性有哪些 war文件应免费提供,功能有限。客户应该可以选择购买无限制版本 这方面有标准吗?带有新特性(spring配置文件和@ConditionalOn)的附加JAR 您可以为付费客户提供额外的jar,以支持新功能。可以使用spring引导自动配置功能(例如@ConditionalOnClass)加载该jar。 你真的需要战争吗?您可以使用可执行jar(jar和捆绑的Tomcat) 最终结果也是一样的——web应用程序。但有了jar,将另一个j

向JavaSpring应用程序添加数字版权管理的可能性有哪些

war文件应免费提供,功能有限。客户应该可以选择购买无限制版本

这方面有标准吗?

带有新特性(spring配置文件和@ConditionalOn)的附加JAR 您可以为付费客户提供额外的jar,以支持新功能。可以使用spring引导自动配置功能(例如@ConditionalOnClass)加载该jar。 你真的需要战争吗?您可以使用可执行jar(jar和捆绑的Tomcat)

最终结果也是一样的——web应用程序。但有了jar,将另一个jar(具有附加功能)添加到类路径非常容易,应用程序将接收它

有关详细信息,请参阅

奥斯基 您还可以使用OSGi模块启用新功能

但这不是真正的DRM,只是定制。一个客户仍然可以从另一个客户复制特定于功能的jar

您可以为每个客户构建jar(在jar中硬编码客户详细信息)并对其进行模糊处理,但我认为它仍然非常容易被打破。Java具有非常简单的调试,并且没有针对调试、侧面加载修补代码等的保护

您可以使用SecurityManager启动应用程序(以阻止某些敏感操作),但我认为它仍然很容易绕过

云模型 最后注意:您的部署模型是war(web应用程序)。你真的需要为客户提供这场战争吗?也许你可以使用云模式:自己托管软件,只需让客户访问即可。特定功能只能为某些(付费客户)解锁。示例:Github甚至Stackoverflow(Stackoverflow为信誉更高的用户解锁更多功能,而不是那些付费的用户,但一般规则是相同的)。

具有新功能的附加JAR(spring配置文件和@ConditionalOn) 您可以为付费客户提供额外的jar,以支持新功能。可以使用spring引导自动配置功能(例如@ConditionalOnClass)加载该jar。 你真的需要战争吗?您可以使用可执行jar(jar和捆绑的Tomcat)

最终结果也是一样的——web应用程序。但有了jar,将另一个jar(具有附加功能)添加到类路径非常容易,应用程序将接收它

有关详细信息,请参阅

奥斯基 您还可以使用OSGi模块启用新功能

但这不是真正的DRM,只是定制。一个客户仍然可以从另一个客户复制特定于功能的jar

您可以为每个客户构建jar(在jar中硬编码客户详细信息)并对其进行模糊处理,但我认为它仍然非常容易被打破。Java具有非常简单的调试,并且没有针对调试、侧面加载修补代码等的保护

您可以使用SecurityManager启动应用程序(以阻止某些敏感操作),但我认为它仍然很容易绕过

云模型 最后注意:您的部署模型是war(web应用程序)。你真的需要为客户提供这场战争吗?也许你可以使用云模式:自己托管软件,只需让客户访问即可。特定功能只能为某些(付费客户)解锁。示例:Github甚至Stackoverflow(Stackoverflow为信誉更高的用户解锁更多功能,而不是那些付费用户,但一般规则是一样的)