デスクトップ C# アプリケーションがあり、複数のクライアントが SQL サーバーに接続されています。各ユーザーには ID とパスワードがあります。私が望むのは、すでにログインしているユーザーが別のコンピューターからログインできないようにすることです。
ログイン時にデータベース'UserLoggedIn'=trueの Field を更新し、ユーザーが Field Updated をFalseにログアウトすることで実装しました。しかし、この解決策は最適ではありません。システムがクラッシュしたり、コンピューターが予期せずシャットダウンしたりした場合、値はデータベースで 'UserLoggedIn'=True のままになり、このユーザーはシステムに再度ログインできなくなります。
そのための最適な解決策は何ですか?また、既にログインしているユーザーが別のコンピューターからログインできないようにするにはどうすればよいですか?