オンラインユーザーを正確に定義することに少し依存しますが、それをリラックスさせた定義を前提にして、あなたがまだ持っていないと言ったことを正確に導入することで達成できます。セッション。
認証時には、ASP.NET MVCアプリケーションはIDプロバイダ/承認サーバ(IP/AS)として動作しますが、セッションの概念を持つことはできないことを意味しません。一般的に、セッションはIP/ASの一般的なプラクティスです。これは、セッションを使用するアプリケーションにシングルサインオンを提供できるためです。
たとえば、GoogleとFacebookの両方が他のアプリケーションのIP/ASとして動作し、どちらもセッションを維持しています。 2つのケースでは、IP/ASの役割を果たすだけでなく、セッションには必要不可欠なものであると主張できます。
ただし、認証サービスと認可サービスのみに焦点を当てたプロバイダもセッションに依存します。たとえば、前述のAuth0 uses sessions as a way to provide the single sign-on experienceです。
セッションを導入することにより、IP/ASの観点から、オンライン/認証されたユーザーのリストを維持できるはずです。大きな問題は、ビジネスユーザーがオンラインユーザーと言っているときに、それが実際に何を望んでいるのかということです。
開示:私はAuth0エンジニアです。
更新:
セッションの実際の実装に関しては、要件によって異なりますが、クライアント側のクッキーとサーバー側の耐久性のあるストレージの伝統的なアプローチは行う必要がありますトリック。 ASP.NETアイデンティティと統合する必要はありません。特定のユーザーID(ユーザー固有の識別子を通じて)にアクティブなセッションがあることを追跡するだけで済みます。彼らが認証するときに行われます。
次に、いつセッションが終了するのかを決定する問題があります。それは主に正確な要件に依存します。ユーザーがIP/ASにログアウトしたり、別のアプリケーション内からシングルサインアウトをトリガーしたい場合には、やりにくくすることもできます。
トークンに関しては、セッション終了時(ログアウト時)にリフレッシュトークンを取り消すことも考えられます。要約すると、多くの動く部品と実装すべきものがあります。
あなたはすでにそれを行っていない場合は、あなたもチェックする必要があります:
は、機能を要求セールスマネージャーのための「ティア」だけの素敵な名前ですか? – trailmax