9

当社の Web アプリケーション (イントラネットではない) を使用している顧客が何人かいます。一部の顧客は、ログインを組織の Active Directory と統合する必要があります。彼らは、ユーザーが自分の Windows アカウントにログインし、ユーザー資格情報を入力せずに Web アプリケーションにアクセスできるようにしたいだけです。

ADFS に関する記事をいくつか読みましたが、それを統合または実装する方法がまだわかりません。提案された解決策はありますか?

ありがとう!

4

3 に答える 3

5

.NET ベースのアプリケーションを開発する場合、Microsoft はWIFと呼ばれるライブラリを提供します。これは、AD FS と快適な方法で通信するために使用されます (構成 + AD FS によって提供される認証メッセージから要求を取得するための小さなコードの適応)。 )。

SSO を機能させるために、AD FS 2.0 と WIF の両方がサポートするプロトコルはほとんどありません。最も一般的なプロトコルは、(私の知る限り) SAML 2.0と WS-Federation です。どちらも XML メッセージに基づいて構築されていますが、WIF を使用する場合は詳細を知る必要はありません。

WS - フェデレーションの場合、WIF ライブラリは Visual Studio 用のプラグインを提供します。これにより、サイトを AD FS の証明書利用者として構成できます。

DB 内の資格情報を使用してユーザーを識別することができます。AD FS のログイン ページ全体と認証イベントを実際にカスタマイズできます。ただし、基本的なインストールでは、各ユーザーを Active Directory 内で定義する必要があります。また、DB をクレーム ストアとして使用することもできます (別のデータベース AD FS は、依存するアプリケーションにユーザーに関する情報を提供するために使用します)。AD FS の背後で AD を使用する場合は、AD FS サービスが AD FS にアクセスして LDAP クエリを実行できる必要があることに注意してください。 AD FS はなじみがありません。


業界の SSO 標準プロトコル (前述の SAML 2.0) をサポートする必要がない場合、AD FS の実装がそれほど優れたソリューションになるかどうかはわかりません。それは、常に快適とは限らない特定の方法で作業することを強制します。

于 2012-06-13T18:31:05.513 に答える
1

あなたの質問は、SSOの実装にADFSの使用に制限されているかどうかを明示的に述べていません。ADFS は確かにこれを行う 1 つの方法です。SSO を実装するための代替手段として、OpenID-LDAP (以前は www.openid-ldap.org にありましたが、プロジェクトは現在廃止されています)およびその他のID プロバイダーを検討することをお勧めします。

1 つの代替方法は、統合 Windows 認証を使用する OpenID プロバイダーを実装することです。ADFS の代わりに、インターネットに公開する DMZ にインストールできます。Internet Explorer および Chrome からのシングル サインオンが許可される場合があります。

OpenID プロバイダーの実装は簡単ではありません。セキュリティには細心の注意を払う必要があります。幸いなことに、 DotNetOpenAuthのような役立つフレームワークがいくつかあります。

OpenID を使用する場合、「クラウド」アプリケーションは OpenID 依存として機能し、OpenID プロバイダーから他の属性の中で要求された識別子を取得します。ユーザーを一意に識別するために、これをデータベースに保存する必要があります。クラウド アプリケーションに電子メール アドレスや個人名などの最小限の情報を提供できるように、OpenID プロバイダーを実装することもできます。

OpenID を使用する利点は、「クラウド」アプリケーションが、Google や Yahoo などの他のよく知られた OpenID プロバイダーをあまり変更せずに引き続きサポートできることです。

最終的には、顧客がどのテクノロジーに満足しているかを顧客に尋ねる必要があります。多くの場合、組織間の信頼の欠如 (ビジネス特性) は、テクノロジーよりもむしろ課題であることがわかります。

于 2012-06-13T17:30:20.997 に答える
0

コメントごとに詳細が必要です。

ここに良いソースがあります: AD FS 2.0 Content Map

「電子書籍」はこちら.

クラウド アプリケーションを Azure ACS にバインドし、顧客が AD の上に ADFS をインストールし、ADFS を ACS とフェデレーションする 1 つのシナリオを想像できます。これにより、必要な機能が提供されます。

コメント後の更新:

ADFS は AD に対してのみ認証できます。DB に対して認証できません。SQL Server DB から属性を取得してクレームに変換できます。つまり、承認のために SQL DB を使用できます。

SQL DB に対して認証する場合は、2 つの選択肢があります。

  1. カスタム STS を作成する
  2. この機能を可能にするIdentity Serverのような既存の「カスタム」STSを使用します。
于 2012-06-13T00:55:00.063 に答える