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

本文关键字:计算机 一台 登录 注销 用户 如果 | 更新日期: 2023-09-27 18:36:43

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

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

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

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

你不能,因为你没有保持连接打开,而且它也是单向的(客户端->服务器)。因此,服务器永远无法回调说"此会话不再有效"。

为此,您需要使用双向连接(服务器可以将消息推送到客户端),这可以通过多种方式完成,但需要彻底更改客户端和服务器。看看SignalR。

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