私はこれについて困惑しており、これを行う良い方法を考えることができません。システムを使用するためにユーザーがログインする必要がある Web サイトを開発しています。ASP.NET MVC 4 の組み込み認証を使用することを考えています。それはたいした問題ではありません。
ユーザーは別のサーバーでツールを使用できるようになります (私たちのサーバーはユーザーを認証し、別の Web サイトに、彼は大丈夫です、これらのメッセージは XML を使用して HTTPS 経由で渡されることを伝えます)。他のサーバーでは、メッセージが私たちの間で受け渡されるときにユーザーが使用する認証トークンを作成する必要があります。
他のサーバーとのすべての要求/応答を認証するために、トークンをデータベースに保持する必要があります。つまり、この「トークン テーブル」は、サーバーでのフォーム認証のタイムアウトについて何も認識していないことを意味します。
問題は、ユーザーが他のサーバーのツールを使用しているとしましょう。彼は長い間他のサーバーにいるでしょう。これにより、認識されたアクティビティがないように見えるため、サーバーでの認証によって彼がログアウトされます。トークンを手動で維持しているため、他のサーバーは彼をログアウトしません。これはユーザーにとって面倒なことです。なぜなら、ユーザーが私たちのサービスを使用する必要がある場合、常に「オンライン」であるにもかかわらず、再度ログインする必要があるからです。
2 つの認証を「同期」する方法はありますか? 最初は、(組み込み認証を使用する代わりに) サーバーに「トークン テーブル」を検索させることを考えていました。これにより、最後のアクティビティが x 前の場合、ユーザーは再度ログインする必要があり、これで問題が解決します。サーバーから不意にログアウトします。しかし、セキュリティへの影響が心配です。
これを行う最良の方法は何ですか?
ありがとうございました。
デズモンド