我发现了一些帖子,建议专有的解决方案能够满足我的需求。我希望有人有他们可以传递的教程..无论如何 - 这就是我需要的东西:
我有一个为Sitefinity构建的服务器控件。它被编译成DLL。当有人购买控件时,我想生成一个包含特定于其站点URL /主机名的密钥的许可证文件(.txt / .lic)。许可证文件应支持多个URL /主机名 - 以防他们需要在开发和生产站点上运行。
当有人试图在没有适当许可证文件的情况下加载控件时 - 它只会吐出“未许可”消息。
有什么想法?我查看了微软关于服务器控制许可的页面 - 这是我的想法。它也由Machine授权。我想通过URL /主机名进行许可。
答案 0 :(得分:8)
您可以使用现有的一个开源解决方案来生成和验证许可证文件:
Boths工具允许您将其他数据存储到许可文件中 - >在您的情况下允许的域名。
使用Portable.Licensing解决方案,您可以使用产品功能或其他许可证数据来添加允许的域名:
var license = License.New()
//... other options
.WithProductFeatures(new Dictionary<string, string>
{
{"example.com", "yes"},
{"domain.tld", "yes"}
})
// ... other options
.CreateAndSignWithPrivateKey(privateKey, passPhrase);
验证域名:
if (license.ProductFeatures.Contains("domain.tld"))
// ...
免责声明:我是Portable.Licensing开源项目的作者
答案 1 :(得分:0)
我无法根据现有框架为您提供答案。在这里我的解决方案
此外,您需要一个工具来使用私钥创建许可证(这不是分布式程序集的一部分,而只是此工具。
更新:我认为您最关心的是创建许可证密钥:
希望有所帮助!