2008-10-30 31 views
7

我们公司制造基于网络的应用程序,每个工作站都定价。每个座位认证的SAAS

这意味着用户/密码凭证只能从一台特定的机器上使用。

目前发生的情况是几个用户正在共享凭据,如果他们没有同时执行此操作,我们没有任何方法来阻止此操作。

应用程序的性质是这样的,用户需要一段时间使用它,所以无法并发工作不会打扰用户太多,公司失去了可能的收入。

该应用程序目前纯粹是没有Flash/activeX/Java小程序的AJAX。

理想的解决方案是使用“Shell.Network”脚本界面以javascript读取客户端的计算机名称或IP地址。

但是,这是不可能的,因为Internet Explorer中的严格安全设置。我不得不提到跨浏览器功能并不重要,唯一支持的浏览器是IE。

搜索谷歌我在这里遇到了这个解决方案http://www.reglos.de/myaddress/MyAddress.html,但它需要JAVA小程序,所以不会很方便。

有没有其他解决方案呢?

回答

3

使用ID在机器上设置cookie。每次用户登录时检索cookie。如果您看到几个不同的cookie交替出现在单个用户身上,那么您知道自己有一些奇怪的事情发生。

(当然一台交换机可能仅仅意味着他们已经移动到新的PC作为一个关。)

另外,每次使用“查询”或其他一些项目的价格。

+0

看来基于cookie的解决方案将是最好的。我们将试用 – SparcU 2008-11-02 14:25:38

0

因为你的客户(软件)是有效匿名的,用户是自我识别的,所以没有简单的答案。

对于IE“锁定你”(我几乎不是IE专家),但不能为特定域设置IE设置?您可以简单地要求用户配置他们的浏览器来为您的应用提供卓越的访问权限。

我看不出有什么理由不能对用户浏览器有一定的要求(即只有IE 6/7/8,这些安全设置等)。

4

您的许可模式与交付模式不一致。改变其中之一。

+0

+1,因为Web是无状态的。很难跟踪一个用户。 – 2009-06-10 21:37:28

1

这种滥用可能可以使用RichH建议的Cookie技术适度有效地检测到。至少明显的滥用行为很容易被发现(例如10个授权用户,100个真实用户)。

但是,当然,不要锁定用户,只监视情况并让您的销售人员调用建议他们购买更多许可证。

我们完全一样(在许可和交付方面),并且我相信您没有改变模型的良好商业理由。

1

跟踪每个用户的会话。不允许多个会话给单个用户。要达到此目的,您必须将会话ID保存到数据库中,并在每次用户登录时检查。

要帮助有时会出现浏览器崩溃并重新登录新会话的用户,请允许他们注销他们以前的会话...所以你可以杀死旧的会话,而是注册新的会话。

希望这是有用的。