如何验证 C# WPF 应用程序中每个菜单项的许可证

How to verify License for each Menu Item in C# WPF Application

我已经在 WPF C# 中创建了一个应用程序并通过 Dotfuscator 进行了模糊处理。现在我想为我的供应商提供许可证密钥。我的应用程序中有四个菜单,每个菜单都有单独的费用。所以我需要为每个菜单提供单独的许可证密钥来验证它。

我在 Google 中搜索过,但它只显示整个应用程序的单个许可证密钥。任何人都可以发送一些链接或想法。

您所说的不是任何应用程序的默认行为,因此您找不到开箱即用的解决方案。

做这样的事情的现代方法是基于帐户,你有一个用户帐户记录用户购买了什么,然后你的应用程序连接到你的服务器并下载其活动权限。

然后您将使用许可证密钥来确保每个帐户使用的应用程序副本不会超过他们拥有的许可证密钥

您所说的通常指的是 "feature licensing",您在其中许可应用程序的个别功能,而不是使用单一许可的所有功能。每个用户都会有一组与其用户帐户相关联的特定许可证;许可证集将取决于他们从您那里购买了哪些功能。

在您的代码中,登录后,您可以验证每个用户的许可证以确定允许和不允许他们使用哪些功能。例如,这里有一些 pseudo-code:

features = {
  FEATURE_X: false,
  FEATURE_Y: false,
  FEATURE_Z: false
}

for license in licenses
  switch license.policy
  case 'FEATURE_X'
    features.FEATURE_X = license.is_valid()
  case 'FEATURE_Y'
    features.FEATURE_Y = license.is_valid()
  case 'FEATURE_Z'
    features.FEATURE_Y = license.is_valid()

# Later in your software:

if features.FEATURE_X
  # … let the user do X
else
  # … don't let them

我构建的 a software licensing API 使这种类型的许可模型比过去更易于管理。使用我的服务 Keygen,您可以创建代表您个人功能的不同许可证类型(策略),例如"Feature X"、"Menu Item Y" 等

Keygen 还提供用户管理功能,因此将多个许可证与单个用户关联起来非常容易,就像这个特定的许可模型一样。