许可证管理器页面ASP.NET Web窗体

时间:2015-10-11 10:14:43

标签: c# asp.net forms web licensing

我们有一个相当复杂的企业ASP.NET Web Forms 2.0应用程序。

我们需要将此应用程序部署到处于封闭VPN环境中的客户端。

应用程序将部署到我们客户端的实例(基本上一个实例等于200个或更多客户端PC)。

我们需要创建许可证管理器页面,我们可以在一个实例中为所有客户端配置一个许可证的持续时间。如果许可证到期,则会向客户端发出弹出警告,告知他们不再使用该应用程序。

实现这一目标的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

您希望每台服务器只有一个许可证,无论有多少客户端和用户。如果服务器上的应用程序许可证到期,则任何用户都无法从任何客户端访问(管理控制台/许可证管理器除外)。

在这种情况下,您可以拥有一个数据库实体(或XML或您要求的任何其他文件),以加密形式存储许可证信息,例如许可证开始日期,到期日期,用户数量,许可证类型,颁发者发行等。

根据您的应用程序类型和要求,可以检查这些凭据:

  1. 每次请求(可能影响性能)或
  2. 客户每次登录时(这似乎是一种更好的方法)或
  3. 在许可证验证中,如果许可证已过期,您可以将用户重定向到许可证页面。

    您的许可证管理员只能通过单独登录访问

    只有在服务器上不部署代码(即只向客户端提供已编译的程序集)时,才能实现此方案。

    <强>更新

    可以对许可证篡改应用多次验证,例如:

    1. 如果许可证代码字段为空,则必须将用户重定向到注册页面。
    2. 如果已修改加密的许可证代码,则重定向到注册页面。