管理有限客户端许可证/登录的最佳实践

时间:2010-04-20 08:37:28

标签: design-patterns licensing

我有一个多用户软件解决方案(包含不同的应用程序,即EXE),应该只允许有限数量的并发用户。它被设计为在Intranet中运行。对于计算客户端许可证的问题,我没有一个非常好的,令人满意的解决方案。关键要求是:

  • 当用户启动任何应用程序时,他们会获得一个登录屏幕,他们必须使用他们的用户名和密码登录。因此,当他们开始使用该应用程序时,它应该算作新的许可证。
  • 同一个应用程序(=进程)的多个实例(启动)应该只计为一个客户端许可证
  • 启动软件解决方案的不同应用程序也应该只计为一个(相同)客户端许可证
  • 应用程序崩溃不应导致孤立的已使用许可证
  • 以上内容也适用于终端服务器环境(所有客户端使用相同的IP,但安装文件夹不同)

我正在寻找既定的模式,解决方案,管理二手客户端许可证的技巧。也欢迎针对上述情况的具体提示。

1 个答案:

答案 0 :(得分:1)

我相信某些应用程序(3ds Max,Adobe多用途等)处理此问题的方法是安装所有应用程序访问管理全局用户上下文的单个共享dll。因此,当您从任何exe登录时,它会将您的凭据转发到dll,从而在同一台计算机上保存其他可执行文件。此共享dll还负责将当前用户上下文传送到将跟踪活动许可证的网络或Internet服务。我认为microsoft将此服务分发给企业,而其他软件供应商则主持许可服务。以这种方式分离关注应该:允许用户上下文保持活动,即使单个应用程序意外结束,允许在共享dll关闭时正常退出和释放许可证,并允许网络服务超时或自动释放它没有收到本地机器的任何通信。 我不知道终端服务如何影响这一点。我知道共享dll的范围有限,因此每个用户可能能够使用唯一的用户上下文运行自己的副本,但我真的不确定。希望这会有所帮助。