用于春季申请的DRM



在Java Spring应用程序中添加数字权利管理的可能性是什么?

战争档案应以有限的功能免费运送。客户应该选择购买无限版本。

是否有标准?

其他带有新功能(春季配置文件和@conditionalon)

的JAR

您可以为付费客户提供额外的JAR,以实现新功能。可以使用Spring Boot AutoConfiguration功能(例如@ConditionAlonClass)加载该JAR。你真的需要战争吗?您可以使用可执行的jar(捆绑的tomcat http://docs.spring.io/spring-boot/docs/current/current/referent/referent/html/html/build-tool-plugins-tool-plugins-maven-plugin.html-plugin.html-plugin-plugin-plugin-plugind-plugind-plugin-plugin--plugin-plugin--plugin-plugin-plugin-tml-plugin,-maven-plugin)。

最终结果是相同的Web应用程序。但是使用JAR,将另一个JAR(带有其他功能)添加到ClassPath和应用程序会拾取它非常容易。

请参阅http://docs.spring.io/spring-boot/docs/current/referent/referent/html/boot-features-developing-auto-configuration.html

OSGI

您还可以使用OSGI模块启用新功能。

这不是真正的DRM,只是自定义。一个客户仍然可以从另一个客户复制特定功能的罐子。

您可以构建jar percustomer(在jar中进行硬码客户详细信息)并混淆它,但我认为破裂仍然非常容易。Java非常容易调试,并且没有防止调试,侧载修补的代码等的保护

您可以使用SecurityManager(阻止某些敏感操作)https://docs.oracle.com/javase/javase/tutorial/sential/environment/environment/security.html启动应用程序,但我认为它仍然很容易绕过。

云模型

最终注意:您部署模型是战争(Web应用程序)。您真的需要为客户提供这场战争吗?也许您可以自己使用Cloud Model:主机软件,只需提供客户访问即可。特定功能只能为某些(付费客户)解锁。示例:github甚至stackoverflow(stackoverflow为具有更多声誉的用户解锁了更多功能,而不是那些付费的人,但一般规则是相同的)。

最新更新