2012-03-29 17 views
2

ブラウザでシングルサインオンを使用して、1つのMicrosoft .NET Webアプリケーションから別のMicrosoft .NET Webアプリケーションへの資格情報を渡す必要があります。私はWindows Azure(ACS)をSecure Token Serviceとして、認証目的のクレームのためのIssuing AuthorityとしてのFacebook/Open Idと共に利用したいと考えていました。クレームベースの認証とシングルサインオン

「.NETベースの認証とシングルサインオン」を達成する方法を知っている人はいますか?

異なる2つのWebアプリケーションが異なるデータセンター(クラウドではない)でホストされていること、クレデンシャルがブラウザを経由して流れる必要があること、クレームとクッキーによって達成可能であること 例えば

乾杯


*更新ユーザーはACS経由でアプリケーションAにログインし、次にアプリケーションBのボタンをクリックして、アプリケーションB(パートナー/サードパーティのサイト)にリダイレクトします。

FYI - 私はアプリケーションBを変更するためのアクセス権を持っていませんサイト)、アプリケーションAはい...

答えて

2

ここで説明しているのは、Windows Azure Access Control Serviceと完全に連携するハイブリッドシナリオです。また、アプリケーションがオンプレミスであるかクラウドであるかは関係ありません。基本的に、あなたのアプリケーションは単にACSをアイデンティティプロバイダとして使用するだけです(プロジェクトを右クリックし、STSリファレンスを追加してください)。あなたはそれをやった後は、次のことが可能になります。

  1. ユーザーは
  2. 認証が必要とされてapplication1.comして閲覧します。 application1.comはACSのログインページ(IDプロバイダを選択できる)にリダイレクトするか、利用可能なすべてのIDプロバイダを一覧表示します。
  3. ユーザーはWindows Liveの使用を選択します
  4. ユーザーはlogin.live.comにリダイレクトされ、電子メールアドレス+パスワードを入力できます。彼はパスワードを保存して接続を維持することを選択します。
  5. ユーザーはいくつかの主張でACSにリダイレクトされます。 ACSは一部の申し立てとともに再度application1.comにリダイレクトします
  6. ユーザーはapplication1.comで認証され、彼の主張はアプリケーションで利用可能です。
  7. ユーザーはapplication2.comに接続します
  8. 認証が必要です。 application2.comはACSのログインページ(IDプロバイダを選択できる)にリダイレクトするか、利用可能なすべてのIDプロバイダを一覧表示します。
  9. ユーザーはWindows Liveを使用することを選択しました
  10. ユーザーは既にWindows Liveで既に認証されています!そしてlogin.live.comは
  11. ACSは
  12. ユーザーがapplication2.comに認証され、彼の主張は、アプリケーションで利用可能なapplication2.comするためにいくつかの主張を再びリダイレクトいくつかの主張をACSにすぐに彼をリダイレクトします。

これが役に立ちます。

Sandrino助けSandrinoため

+0

おかげで、あなたの番号8は、認証と番号9は、その後のWindows Live IDを選択する必要が(StackOverflowのように、ユーザーをクリックするマニュアル!)、それが可能である、彼らは1から6から7に行くことWebサイトを別のサイトに移動し、ユーザーにシームレスなクレームパスもう一度認証する必要はありません(ボタンをクリックしても)。 Thnx! – user728584

+0

ありがとうアンドリュー、私はログインページをカスタマイズするつもりだった、私はそれが好き!私はオリジナルの投稿を更新しましたが、私はアプリケーションBにアクセスするとは思わない(パートナーサイトで、私が知る限り変更することはできません)、これはまだ可能ですか?アプリケーションAのACS、クレジット(クレーム)は、アプリケーションAで一度認証されたアプリケーションBでログインしていないサードパーティのサイトであるアプリケーションBに流れますか? Thnx – user728584

関連する問題