0

Web アプリケーションの現状: AngularJs、MVC5 で設計された既存の Web アプリケーションがあります。カスタム データベースに対して認証が行われています。

SignIn : Microsoft.AspNet.Identity.UserManager およびその他のソース クラスをオーバーライドして、データベースと通信し、ユーザー関連の情報を取得しました。結果を System.Security.Claims.ClaimsIdentity に追加します。

"Microsoft.Owin.Security.IAuthenticationManager.SignIn(params System.Security.Claims.ClaimsIdentity[] ID) に渡す

SSO が必要なもの: 2 つの新しいベンダーを Web アプリケーションに統合することを計画しているため、認証を SAML 2.0 トークンを使用した SSO に移行したいと考えています。

ID プロバイダー: F5 Big Ip に ID プロバイダーを実装しています。これは、ログイン ページを提供して認証を行い、saml2 トークンを生成します。Web アプリケーションはサービス プロバイダーとして構成されます。Web アプリケーションにリダイレクトすると、saml2.0 トークンが渡されます。

MVC .net フレームワーク 4.5.2 での SAML2.0 の使用 アプリケーションで必要なのは、saml2.0 トークンを使用して既存の認証パイプラインと統合することだけです。 やるべきこと: ID プロバイダーからのメタデータには、saml2.0 トークンを復号化するための公開鍵と、メタデータ ファイルの署名に使用される鍵があります。

私の仮定は、SAML 2.0 トークンの要求を解析し、トークンが有効かどうかを確認し、属性からのデータを使用して詳細をデータベースに問い合わせ、結果を「System.Security.Claims.ClaimsIdentity」に挿入し、既存のログイン操作。原則を構成する方法を理解する必要があります..そして、まだ Microsoft.AspNet.Identity.UserManager が必要ですか。

調査: ビジュアル スタジオには、vs2013 から存在しない ID とアクセス ツールがありました。Windows ID 基盤に関する記事とクレーム ID の原則を確認しました www.codeproject.com/Articles/504399/Understanding-Windows-Identity-Foundation-WIF

saml2.0トークンはサポートしていますが、saml2プロトコルはサポートしていません。

使用が提案されたサードパーティ製ツールは次のとおりです http://nzpcmad.blogspot.co.nz/2013/06/saml-saml-connectivity-toolkit.html

ツールのいずれかを使用する必要がありますか? F5 bigip で構成された IDP があり、.net で設計されていないため

私が見つけた別の良い記事 http://www.primaryobjects.com/2013/08/08/using-single-sign-on-with-windows-identity-foundation-in-mvc-net/

また、saml2.0 トークンを処理するための Saml2SecurityTokenHandler に関するいくつかの提案も見ました。

誰かが私の既存の Web アプリに統合するためのより簡単なソリューションを教えてくれれば幸いです。saml2.0 トークンを使用して、既存のクレーム ベース認証と統合するだけです。

4

1 に答える 1

0

OK - 次に、使用したリンクに従って SAML スタックを使用する必要があります。

Kentor を見てください - サイトにいくつかの例があり、私は記事を書きました

アップデート:

SAML が機能する方法は、クライアントが AuthnRequest を IDP に送信する必要があり、次にユーザーが認証され、IDP がクライアントに AuthnResponse を送信することです。応答には、アサーション (クレーム) を含む SAML トークンが含まれています。

于 2016-05-18T20:23:03.367 に答える