私は友人を助けようとしています-彼らはかなり大きなWebアプリケーション(ASP.NET 4.0、Visual Basic)を持っており、それらはすべて準サブアプリケーションとして機能するいくつかのサブフォルダーを持っています(ただし、それらはメインアプリケーションの単なるサブフォルダーです) )。このアプリケーションは、現在の形式ではこれ以上保守および開発することが難しいため、複数の独立したWebアプリケーションに分割されます。
問題は、現在のモノリシックアプリケーションがユーザー情報(ログオン後など)などに多数のセッション変数を使用することです。将来の複数のWebアプリケーション(明らかに独立している)間でこの情報を安全に共有する簡単な方法があるかどうか疑問に思いますセッション)。セッション状態はSQLServerに保存されます。現在のWebアプリケーションのユーザーはすべて外部ユーザーであり、すべてのユーザーがすべての「サブアプリケーション」にアクセスできるわけではありません。
私はこれらの2つのことについていくつかのアドバイスを探しています:
1.すでに検索を行ってシングルサインオンを見つけました。これにより、これらのアプリケーション全体の認証の問題が解決するようですが、慣れていないため、「セッション」の場合に認証情報がどのように削除されるのかわかりません。異なるWebアプリケーションは異なるセッションを持つため、有効期限が切れます。いずれかのWebアプリケーションでセッションが期限切れになると、すべてのWebアプリケーションからユーザーをログアウトすることはできますか?
2.分割後に共有する必要のある認証情報に加えて、他のセッションデータがあるのではないかと思います(確かではありません)。これを行うための最良の方法は何でしょうか(これも確実かつ安全に)?
IDを(共有データを保持するデータベースレコードに)渡すことについてのこの記事を見つけ、それが良いかどうか疑問に思いました。
すべてのアドバイスをいただければ幸いです。
PS:私はこれについてSOでいくつかのスレッドを見つけましたが、それらのどれもこれらの特定の質問に答えるとは思いません。私が見つけた最も役に立ったのはこれでした: