如果用户从另一台计算机登录,则注销

时间:2015-01-08 16:32:17

标签: c# winforms

我的WinForms应用程序的身份验证通过使用HttpWebRequest在PHP网站上注册会话来实现。

我希望每个用户只在一台计算机上进行身份验证。因此,当用户从计算机A登录我的应用程序并从计算机B连续登录时,应强制他们从计算机A登出。

当此用户在计算机B上登录时如何接收对计算机A注销的响应?

1 个答案:

答案 0 :(得分:2)

你不能,因为你没有打开连接,它也是单向的(客户端 - >服务器)。因此,服务器永远不会回拨“此会话不再有效”。

为了做到这一点,你需要使用双向连接(服务器可以将消息推送到客户端),这可以通过多种方式完成,但需要大幅改变客户端和服务器。看看SignalR

简单的方法是添加一个轮询机制,每隔N秒检查当前会话是否仍然有效,如果没有,则通知用户并关闭您的应用程序。