【问题标题】:License for application申请许可证
【发布时间】:2011-04-02 23:53:10
【问题描述】:

使用mysql、c#.net、Java Script

我有网络应用程序,我想为我的应用程序创建一个用户限制,这意味着我必须为用户使用一些许可证......

举例

客户需要 3 个用户的应用程序,因此应用程序将适用于 3 个用户,如果客户需要将用户从 3 个扩展到 10 个意味着,我必须为 10 个用户提供许可证...

如何为应用程序创建许可证,我必须使用 RSA 算法生成密钥?

谁能提供一些想法或示例代码

需要帮助

【问题讨论】:

  • 为什么需要注册码?这是一个网络应用程序 - 为不付费的人禁用功能。注册密钥的主要用途是使复制程序变得更加困难,这在网络上并不是真正的问题......(也就是说 - 您是否公开了 API,并且需要为此获得许可?)
  • @Kobi:我认为提出的问题是:“如何?”。加密可以成为解决方案的有效成分。
  • 用户限制是什么意思?您的意思是说当时只允许 x 个有效并发用户吗?或者您想限制特定用户的登录次数?

标签: c# .net javascript asp.net


【解决方案1】:

license keylicense agreement. 之间存在很大差异为你。许可协议是您的应用程序用户必须同意的法律文件。我猜你对第一个感兴趣。

在 Web 应用程序中,您应该实现一个登录系统,并且只为向您付款的用户提供用户名/密码。如果正如 Kobi 所提到的,您有一个公共 API 并且您想授权给其他用户,我建议您只需给他们一个 uinque GUID (System.Guid.NewGuid();),然后要求该 GUID 作为每个 API 调用的参数。然后,您可以检查 GUID 是否与付费帐户相关联,如果是,则让它运行,如果没有,则使用错误代码中止交易。我建议为此使用 HTTPS 连接。

如果您试图将您的网络应用程序出售给用户,以便他们可以将其托管在自己的服务器上,那么许可证密钥将是一个好主意,您可能希望将其作为参数添加到 <appSettings> 下网络配置。生成许可证密钥的方法有很多,但最简单的方法是生成随机数,直到满足特定的校验和。例如,1253-38 (1+2 = 3, 5+3 = 8)。这是一个非常简单的密钥,很容易破解,但如果需要,您可以提出更深入的校验和。

【讨论】:

    【解决方案2】:

    IMO,Nate Boss 涵盖了大部分基本内容。现在查看您的要求

    客户需要 3 个用户的应用程序,因此应用程序将适用于 3 个用户,如果客户需要将用户从 3 个扩展到 10 个,我必须为 10 个用户提供许可证...

    你有命名用户吗?例如,来自客户的每个用户会有不同的用户名/密码吗?如果是,那么您需要做的就是为客户生成所需数量的用户帐户。现在用户帐户的生成由您完成,那么您实际上不必做任何特别的事情。但是,如果您想允许客户自己注册新用户,那么您需要在注册页面上有许可逻辑。基本问题是识别客户,然后根据您的库存进行验证,以查看客户是否还有任何用户帐户。客户识别可以通过多种方式完成 - 数字证书,您提供的注册码(可以是随机数,也可以是您的 PK 加密的加盐客户 ID)等。

    如果您没有指定用户,那么问题将是客户可以进行多少并发登录?这就像检查您的库存一样简单。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-28
      • 2020-06-24
      • 2015-09-28
      • 2016-10-29
      • 1970-01-01
      • 1970-01-01
      • 2017-11-08
      相关资源
      最近更新 更多