生成/验证C#服务器控件的许可证密钥

Avi*_*sra 0 .net c# licensing sitefinity

我发现了一些帖子,建议专有的解决方案能够满足我的需求.我希望有人有他们可以传递的教程..无论如何 - 这就是我需要的:

我有一个为Sitefinity构建的服务器控件.它被编译成DLL.当有人购买控件时,我想生成一个包含特定于其站点URL /主机名的密钥的许可证文件(.txt/.lic).许可证文件应支持多个URL /主机名 - 以防它们需要在其开发和生产站点上运行.

当有人试图在没有适当许可证文件的情况下加载控件时 - 它只会吐出"未许可"消息.

有什么想法吗?我查看了微软关于服务器控制许可的页面 - 这是我的想法.它也由Machine授权.我想通过URL /主机名进行许可.

dna*_*dna 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);
Run Code Online (Sandbox Code Playgroud)

要验证域名:

if (license.ProductFeatures.Contains("domain.tld"))
    // ...
Run Code Online (Sandbox Code Playgroud)

免责声明:我是Portable.Licensing开源项目的作者