在我们的系统中,一个客户端可能有多个运营商。然而,客户有一个“愿望”。 一家公司有一个帐户,但是可以为该公司分配多个运营商。客户希望我们准备一个解决方案,只有一个公司的运营商可以同时登录系统。我怎样才能做到这一点?
答案 0 :(得分:2)
只需确保他们的系统能够验证每个请求的登录信息。
选项一最简单,选项2最快。如果您对每个请求进行验证,则可以确保只有一个用户仍然登录 - 如果另一个用户登录,则可以使现有的活动登录失效 - 可能的冷却时间为n分钟。
你必须开发某种形式的登录方案 - kerberos是事实上的计划 - 阅读关于kerberos的这个易于理解的教程Designing an Authentication System: a Dialogue in Four Scenes它应该向你展示你真正需要什么做。
答案 1 :(得分:1)
您可以使用数据库字段来标记他们已登录。当他们这样做时,将字段更新为“登录”,然后在他们注销时将其更新为“已注销”。
如果用户从不打算明确注销,您还需要监控登录会话的到期时间以更新字段。
答案 2 :(得分:1)
我用过的最佳方法:
答案 3 :(得分:0)
“我正在使用WPF应用程序并且服务器是用WCF编写的,但这可以实现。但是当用户打开一个应用程序并且在30分钟内处于非活动状态时会出现什么情况?”
此系统将是单用户,因此我建议您在用户登录时启动计数器线程。当计数器达到30分钟时,向数据库写入一个值,表示用户已超时且其他用户是免费的登录。显然,当用户明确注销时,你应该做同样的事情。