Dotnetnuke 如何在DNN模块中实现许可证功能

Dotnetnuke 如何在DNN模块中实现许可证功能,dotnetnuke,dotnetnuke-7,Dotnetnuke,Dotnetnuke 7,我需要在dnn模块中实现三种不同类型的许可证 1) 1个DNN入口(标准) 2) 1 DNN安装范围内的20个入口(专业) 3) 无限DNN安装和门户(企业) 请告诉我们如何实现此功能。您必须根据需要定制系统,但以下是一些提示: 您将需要一个许可证文件,您可以使用RSACryptServiceProvider和SignedXml类使用签名XML文件。这允许您创建一个许可证文件,您可以在客户端上读取该文件,但不能在客户端上修改它。只能使用私钥在许可证服务器上对其进行修改。您在许可证文件中输入的任何

我需要在dnn模块中实现三种不同类型的许可证

1) 1个DNN入口(标准)

2) 1 DNN安装范围内的20个入口(专业)

3) 无限DNN安装和门户(企业)


请告诉我们如何实现此功能。

您必须根据需要定制系统,但以下是一些提示:

  • 您将需要一个许可证文件,您可以使用RSACryptServiceProvider和SignedXml类使用签名XML文件。这允许您创建一个许可证文件,您可以在客户端上读取该文件,但不能在客户端上修改它。只能使用私钥在许可证服务器上对其进行修改。您在许可证文件中输入的任何内容来跟踪许可证的有效使用都由您决定。你可以用SKU来匹配产品,用portalID来匹配你的20个门户网站
  • 您如何知道是否有人试图通过将许可证文件复制到另一台服务器来欺骗您的许可证?我使用DB连接字符串的散列。如果不匹配,我将使许可证无效。是的,有人可以“复制”多个环境,但这很难做到
  • (与#2一起)用户将更改服务器、更改主机,请确保您对此负责。您不希望他们在星期五宣布许可证无效,然后支持部门直到星期一才答复他们以帮助他们
  • 不要欺骗你的用户。99.9%的人是诚实的,如果他们做了使你的许可证无效的事情,假设他们没有试图欺骗你。我只会在许可证失效的情况下禁用后端管理端,我会让字体端完全正常工作,这样他们的最终用户就不会知道出了什么问题
  • 试用版:在您的许可证系统中加入一些试用版功能是很好的
  • 用户将希望在测试/质量保证服务器上使用它。你是否为此收费取决于你,我不收费,所以我的许可证系统允许“例外”
  • 不要使用服务器名/ip,因为如果有人有webfarm,这可能会导致问题
  • 假设没有失控,当有人激活许可证时,给自己发送一封电子邮件,保留激活历史记录并将其放入电子邮件中。所以,如果有什么东西看起来可疑,你可以很快分辨出来

  • 首先我要写一些代码。您好,这个网站是为人们提供代码帮助的。你需要尝试你赢得的解决方案,然后公布你在这方面遇到的问题。也许你应该在谷歌上搜索一些解决方案并尝试其中一些。请参阅:我的模块中有implements License。在此模块中,我必须存储Dnn主机相关设置。例如GUID、主机URL、服务器名、IP地址。我已使用上述声明文件。1)1 dnn门户-我已将当前dnn实例与主机url匹配。2) 1个DNN安装中有20个门户-我有与当前DNN实例匹配的GUID和主机url。3)无限的DNN安装和门户-我有与当前DNN实例匹配的服务器名称和服务器ip。感谢您的重播。我已经通过WebAPI调用实现了许可证验证。如果任何人试图更改主机或服务器名称,那么在webapi调用响应之后,将获得无效的错误消息和无效的许可证密钥。我必须实现电子邮件功能,并结合GUID和其他值生成唯一密钥。因此,我认为我的实现与您的重播基本相同,您也试图按照您所说的更好地实现。再次感谢你重播我的问题。