我们正在尝试为我们的案例构建最佳安全方案。
一家公司可以在多台计算机上安装我们的软件。一家公司可以购买多个可以在员工之间共享的许可证。每当一名员工想要使用我们的软件时,他/她就能看到一个弹出屏幕,其中显示公司购买的所有许可证。然后,如果正在使用许可证,员工将能够看到谁正在使用它。
无需输入密码即可查看所有公司许可证。需要区分公司购买的许可证。
当用户想要使用许可证(使用该应用程序)时,他必须输入自己的密码。
WPF应用程序和服务器之间的连接将使用WCF服务完成。必须有某种令牌,它将检查是否仍然可以每5分钟与服务器建立连接,否则应用程序将关闭。
我们在这里想到的是为每家公司部署一个证书。每当使用证书对该公司进行身份验证时,我们将能够在应用程序启动时显示公司许可证。
然后,当用户想要打开应用程序时,他将选择一个许可证,并将提示密码框。另一个身份验证将使用SQLMembershipProvider完成。
是否可以实施?请告诉我们你的想法。
答案 0 :(得分:1)
您尚未告知托管服务器的位置 - 内部部署或中央位置。所需要的是用于跟踪并发用户(或并发会话,即同一用户可以使用来自多台计算机的应用程序)的未命名许可证。这是我将为内部部署服务器做的概述:
用户身份验证与此无关,您可以使用所需的任何身份验证方案。每当用户通过身份验证(例如使用用户名/密码)时,将标记许可证。对于中央服务器(托管服务)模型,您可以使用用户身份验证来对公司进行身份验证(不向他们发出单独的数字证书)。