私は、自分の組織のアカウント(AD、AAD、O365)で私のWebアプリケーションにログインし、Asp.Net Identityを使用してアプリケーション固有のプロファイルや役割の情報をアプリケーションにローカルに保存したい、私のディレクトリやテナントの土地を汚したくない。Can not/Asp.Net Identityを組織アカウントで使用する必要がありますか?
シナリオが現実的であるかどうかはわかりませんが、それについての情報はほとんど見つかりません。 MVC 4では実行可能でした。空のMVC4 Webアプリケーションを作成し、IDとアクセスツールを使用してフェデレーション認証を設定し、名前テーブルをSimpleMembership(Like thisのように設定)に保存します。
ただし、新しい開発のためにSimpleMembershipよりもAsp.Net Identityを好むしかし、それははるかに困難に見えます。 Visual Studio 2013 RTMでASP.NET Webテンプレートを見ると、個別アカウントテンプレートのビットと組織アカウントテンプレートのビットを組み合わせる必要があります。私はAsp.NetのIDが外部のログイン情報をAspNetUserLoginsテーブルに保存していることを見てきましたが(これは最初にEF6コードで変更できます)、私はClaimsIdentityのどの情報を格納するのか分かりませんベスト(テナントIDと名前の主張?)またはコードのどの時点でOrganizational AccountsテンプレートはMicrosoft.Aspnet.Identityを参照しますが、決してそれを呼び出すようには見えません。
私のシナリオは実行可能ですか? VS2013の最終リリースで構築できるサンプルがありますか? Asp.Net Identityの代わりに独自の実装を使用して役割とプロファイルの情報を格納する方が良いでしょうか?
これは私がこの質問に答えたときに考えたものです。 しかし、私は数週間それを試して、常に互換性の問題につまずいた。私はすべての試みを覚えていませんが、 "1つの" ASP.Net IDはカバーの下でOWINを使います。そして、Microsoft.IdentityModel.Clients.ActiveDirectory(WAAD用)も使用するアプリケーションで参照すると、すぐに機能が分かりません。 私は自分のプロフィール/メンバーシップストアに戻りました。あなたはもっと運があれば聞いてうれしいです。 ところで、派生したClaimsAuthenticationManagerは、開始するのに最適な場所です。 http://msdn.microsoft.com/en-us/library/windowsazure/dn385717.aspx – flip