2

私たちは、いくつかの顧客向けシステムのユーザー認証を担当する ADFS (2.0) を確立しています。認証メカニズムは、複数の認証プロバイダーへのアクセスを提供する外部パートナーに委託されています。

最近、次のシナリオに遭遇しました。

  1. ユーザーが顧客向けシステム A にアクセスしようとすると、認証のために ADFS にリダイレクトされます。
  2. ADFS はユーザーを認証パートナーにリダイレクトし、そこで正常に認証されます。
  3. ユーザーは、認証トークンとともに ADFS に送り返されます。
  4. ADFS はユーザーをシステム A に送り返します。彼は現在、システム A とのセッションを持っています。
  5. ユーザーは、まだ認証されていないシステム B へのアクセスを試み、ADFS に送信されます。

ここで、ADFS が期待した動作から逸脱しています。ADFS は、ユーザーを認識し、有効な認証トークンを使用してユーザーをシステム B に透過的に送信する代わりに、再認証のためにユーザーを認証パートナーに送信します。

これにより、システム A と B を使用している顧客に必要な SSO 機能が完全に破壊されますが、ADFS でユーザー セッションを確立し、2 番目のシステムへのアクセス中にそれを再利用する方法は見つかりませんでした。

誰かがこの問題を解決しましたか?

ADFS は、認証を完全に担当する場合にのみシングル サインオンを提供できますか?

4

3 に答える 3

1

RP(システムAおよびシステムB)が認証を強制するように構成されている場合(ForceAuthn = "true")、ADFSはこのように動作することが期待されます。問題を解決するには、freshness属性が<wsFederation>要素から削除されていることを確認してください。

于 2012-05-16T13:08:31.343 に答える
0

ADFS2 ログにアクセスできますか? Windows マシンで--> Event Viewer --> Applications and Services Logs --> AD FS 2.0 --> Admin

A、B、および ADFS2 が同じトラスト サークル内にあること、およびシステム B のAssertion Consumer Servicesエンドポイントも確認します。

それが役に立てば幸い、

ルイス

于 2012-01-31T13:25:32.387 に答える
0

従来の ADFS では、さまざまな認証パートナーを ADFS のクレーム プロバイダーとして設定します。つまり、それぞれの STS をフェデレーションします。これにより、必要な SSO 機能が提供されます。

あなたの問題は、ADFS と外部パートナーとの間のフェデレーションのみが存在し、ADFS と外部パートナーによって処理される認証プロバイダーとの間にはフェデレーションがないことです。

于 2012-01-23T17:38:33.900 に答える