SSOログインプロセスでは、SQLServerのカスタムユーザーストアに対してフォーム認証を使用します。
新しいセキュリティ要件の1つは、アカウントが一度に1つのアクティブなセッションのみを持つことを許可することです。そのため、ユーザーがログインするたびに、ログイン資格情報がすでにアクティブになっているかどうかを確認し、できれば、他のセッションが終了するまで新しいユーザーが再度ログインできないようにします。または、実装が簡単な場合は、他のセッションを強制的に終了することもできます。
フォーム認証でこれを行う簡単な方法はありますか?データベース内の各セッションを追跡するカスタムアプローチを検討しましたが、それは多くの作業であり、おそらく、session_endを検出するためにすべてのアプリケーションを変更する必要がありますが、これは避けたいと思っています。これを処理する何かがFormsAuthにある必要があると思います。
MembershipUser.IsOnline()メソッドを見てきましたが、これは理想的なようですが、Membershipプロバイダーを使用していません。
更新:明確にするために、現在のユーザーがログインしているかどうかを確認する必要はありません。他の誰かが同じアカウントを使用してすでにログインしているかどうかを知る必要があります。