3 つの ASP.NET アプリケーションと 1 つの Delphi ISAPI アプリケーションの間で「シングル サインオン」認証を開発する必要があります。
シナリオ参加者:
- UI asp.net アプリケーション - WS アプリケーションを呼び出します
- BI asp.net アプリケーション
- Delphi で記述された SOAP サービスを含む WS isapi モジュール。(LDAPと通信可能)
追加情報/制約:
- WS アプリケーションは LDAP と通信できますが、これは変更/拡張される可能性があります。
- WS アプリケーションは、ユーザー ID に基づいてビジネス ロジックを実行します (または実行しません)。
- アプリケーション インスタンスごとに個別のユーザー コンテナーが必要なため (ある種のマルチテナント ソリューション)、ADAM は必須 (?) です。
- フォーム認証は非常に需要があります。
私の現在の考えは、AD または ADAM をユーザー コンテナーとして使用することです。フォーム認証を使用し、ASP.NET アプリケーション間でメンバーシップ プロバイダー (http://msdn.microsoft.com/en-us/library/eb0zx8fc.aspx) を共有します。両方の ASP.NET アプリケーション (http://stackoverflow.com/questions/1066275/impersonate-using-forms-authentication) を偽装し、UI アプリケーションから WS を呼び出します。
ただし、WSモジュール側でユーザーID(資格情報?)を渡す(および受け取る)方法がわかりません。IIS (および ADAM?) によって何らかの形で処理される可能性があります。おそらく、HTTP ダイジェストまたは基本認証が使用されるでしょう。これを機能させるための情報やアドバイスをいただければ幸いです。