建议软件许可证注册和验证机制的模式或体系结构

时间:2012-02-06 07:35:08

标签: design-patterns architecture

我正在努力构建一个通用且可重复使用的软件许可证注册库,该库将嵌入到多个产品中。我正在考虑为此编写一个企业库,并希望在这里得到一些更好的建议。

该机制将是某种插件,它将驱动实现它的产品的注册机制。该产品将为注册表生成GUI,但许可证生成和验证的业务逻辑将写在单独的项目中。该项目将被引用或“插入”主产品以驱动许可机制。

我可以获得一些强大的架构模式来构建这个项目吗?

3 个答案:

答案 0 :(得分:7)

创建私钥和公钥概念。

让您的主机应用程序具有一个预定义密钥,并且相同的密钥将与消费者产品一起使用。

在消费者方面,主机应用程序必须检查公钥和私钥的组合。定义工作流算法,这对某人来说难以解码。还将库嵌入到项目中,以便无法找到用户的程序集。

您将获得以下链接实现上述流程的代码:

Implementing Licencing mechanism for a Software

有关许可证的更多讨论,请点击以下链接:

http://www.otc.utexas.edu/SoftwareAndCopyrights.jsp

答案 1 :(得分:1)

查看服务提供商框架。

答案 2 :(得分:1)

查看detailed documentationDesaware licensing system。经过调查和实施,我认为它设计得很好,包含了一些很好的设计原则和模式。

具体做法是:

  • 许可系统不控制应用程序行为。它只提供许可证状态信息,并让应用程序决定如何处理该信息。这使得应用程序在执行许可证时或多或少地宽容。
  • 公钥/私钥系统意味着许可证在加密方面非常强大,至少在理论上是这样。当然,现实是力量也取决于实施。文档定义了各种威胁模型,以便您可以决定哪些与您的情况相关。
  • 许可系统考虑了几种典型的客户行为和要求。
  • 许可系统非常易于扩展。