http://claimsid.codeplex.com/の例をテンプレートとして使用しているフェデレーションクレームプロバイダーを作成しようとしています。そこで、VS2010を起動して自分のプロジェクトを開始します。最初に気付くのは、System.IdentityModelとMicrosoft.IdentityModelがあることです。これは通常、.Netフレームワークに何かが追加されて「主流」になったときに発生します。
これはここに当てはまりますか?
どちらを使うべきですか?
http://claimsid.codeplex.com/の例をテンプレートとして使用しているフェデレーションクレームプロバイダーを作成しようとしています。そこで、VS2010を起動して自分のプロジェクトを開始します。最初に気付くのは、System.IdentityModelとMicrosoft.IdentityModelがあることです。これは通常、.Netフレームワークに何かが追加されて「主流」になったときに発生します。
これはここに当てはまりますか?
どちらを使うべきですか?
クレームベースの認証/承認を使用する場合は、Windows Identity Framework(WIF)の一部であるMicrosoft.IdentityModelを使用する必要があります。
System.IdentityModelクレームは、WCFスタックの一部です。WIF以前のクレームに使用されていました。私が理解していることから、Microsoft.IdentityModelはSystem.IdentityModelの上に構築されています。
WIFはSystem.IdentityModelに依存しています。何をしているかによっては、両方への参照が必要になる場合があります。
これは、Claim
タイプ(両方のアセンブリにある)から抜粋した例です。
namespace Microsoft.IdentityModel.Claims
{
public class Claim
{
public Claim(string claimType, string value);
public Claim(System.IdentityModel.Claims.Claim claim, string issuer);
...
}
}
System.IdentityModelとMicrosoft.IdentityModelを使用することを選択できる場合は、常にMicrosoft.IdentityModelを使用してください。