かなり複雑な質問だと思うので、ここで明確にするために最善を尽くします。
シングルサインオン(SSO)ソリューションを探しています。私はそこにある多くのオプションを知っていますが、それらが満たす必要のある基準を追加するので、それらのほとんどを除外しました。基準は次のとおりです。
1.)SSOを既存の「システム」に追加する必要があります。
2.)既存の「システム」は「X」個のウェブサイトで構成されています。
3.)「x」のWebサイトはすべてeコマースです。
4.)WebサイトはすべてY社が所有しており、システムの95%は社内で構築されています。
5.)「X」個のWebサイトはそれぞれ同じWebファームにあります。
6.)すべてのWebサイトは、次のコンポーネントを共有しています。
- DAL(データアクセス層)
- データベース(カート、注文、ユーザー、在庫など...)
- 認証(WebFormsとMVCの両方でForms Auth)。
7.)現在の環境が機能するために、マシンキーはすでに負荷分散されたサーバー間で同期されています(そしてしばらくの間同期されています)。8.)トラフィック量が 非常に
多い
ため、高可用性と安定性が必要です。
これらすべての基準により、既存のメンバーシップ認証サービスで使用するWIFとカスタムSTSの道を歩むことができました。OpenIDやその他のオープンソースソリューションのようなものはすべて、企業間の相互運用性に傾いているようです。これは必要ではないか、望まれていません。理想的なソリューションは100%内部であり、ユーザーがWebサイト「1」にログインし、やりたいことを何でもしてから、Webサイト「2」(ロードバランサーの背後でホストされ、場合によっては同じ場所でもホストされる)にアクセスできるようにします。ユーザーとしてのWebサーバーはWebサイト「1」用であり、すでにログインしています。
これが私が調べた代替方法のリストとそれらを除外する対応する理由です(またはこれらの代替方法のいくつかを再検討する必要がありますか?)。
- OpenID:これはいくつかの理由で除外されました。主な理由は、私の組織が「社内」SSOを探しており、外部Webサイトとの統合または外部Webサイトで使用されるIDシステムが望ましくないためです。
- CAS:ほとんどの場合、これもまともな代替手段のようです。使用するテクノロジー(Java、Apache、Mavenなど)は、理解、実装、サポート、および拡張(主に.NETショップ)するために追加の労力と費用が必要になるため、最終的には除外されました。
- OAuth:Webサービスを介して保護されたデータを公開することを目的としているようです。完全にカスタム(http://www.codeproject.com/KB/aspnet/CrossDomainSSOModel.aspx):完全にカスタムのアプローチでは、実装時間が長すぎる可能性があり、この方法ではセキュリティがより重要になります。
- DotNetOpenAuth:依存/OpenIDに基づく。
したがって、問題は次のとおりです。ロードバランサーとWebサイト間で既に共有されているユーザーアカウントデータを考慮して、WIFは既存の環境で機能しますか、それともより良いアプローチがありますか?
説明が必要な場合はお知らせください。
編集:
私が達成しようとしていること(または私が行った研究を踏まえて達成しようとしていると思うこと)を明確にするために、次のようになります。
現在のセットアップ(ドロップボックスでホストされ
ているJPEG)必要なセットアップ(ドロップボックスでホストされているJPEG)