2016-12-30 8 views
0

私はASP.NET MVC4アプリケーションを開発し、クライアントサーバーに展開しました。私たちのクライアントはADFS(Active Directory Federation Services)を使用しており、ADFSユーザーがWebアプリケーションにログインすることを望んでいます。私はADFSからのログインを管理することができます。ユーザーが自分のアプリケーションのログインページにアクセスしようとすると、ADFSログインにリダイレクトされ、認証されるとアプリケーションに返されます。今では、私のアプリケーションでADFSにログインしているときに使用されたこの電子メールIDが必要です。私はADFSからクレームを取り出すことでこれを得ることができることを知りました。 どのようにADFSからクレームを取得し、これをMVCコントローラで使用することができますか?このシナリオで使用できる単純なコード例を本当に感謝します。ADFS(Active Directory Federation Services)からクレームを取得する方法

+1

リダイレクトバックを提供するこれにより、検証して解析できるアサーション(通常はWSフェデレーション)が提供されます。 明確でない場合は、ユーザーをADFSにリダイレクトするコードを示します。 – zaitsman

+0

私は、ユーザーをWeb.configの設定で ...

+0

のようにADFSにリダイレクトしています。https:// msdn Microsoft.com/ja-jp/library/hh568665(v = vs.110).aspx。 'reply'タグを何に設定しても、アサーションを受け取るエンドポイントです。 – zaitsman

答えて

1

私は数年前に書いたこのブログのエントリは、外部のWS-FRBのIDプロバイダで認証最小限のコードが

http://www.wiktorzychla.com/2014/11/simplest-saml11-federated-authentication.html

トリックは

にWSFederationAuthenticationModuleのAPIを使用することであるように見える方法を示しています
  • samlトークンを持つ投稿を検出する(IsSignInResponse
  • トークンを検証して解析します(ValidateToken

何が得ることはあなたが直接からのクレームを取得することができ、組み込みクラス、ClaimsIdentityのインスタンスである:あなたがADFSにリダイレクトするときは、することを意図している

var identity = ...; 

var email = identity.FindFirst(c => c.Type == ClaimTypes.Email); 

https://msdn.microsoft.com/en-us/library/system.security.claims.claimsidentity(v=vs.110).aspx

+0

私の長年にわたるADFSに関する質問をご覧ください。 http://stackoverflow.com/questions/41988205/how-does-wif-wsfederationauthentication-know-which-user-i-am – Almond

関連する問題