ActiveDirectoryにアクセスするためのいくつかの異なる名前空間/クラスがあることに気付きました。次のものを使用することの違いは何ですか?
- System.DirectoryServices.AccountManagement
- System.DirectoryServices.ActiveDirectory
- System.Web.Security.ActiveDirectoryMembershipProvider
ActiveDirectoryにアクセスするためのいくつかの異なる名前空間/クラスがあることに気付きました。次のものを使用することの違いは何ですか?
AccountManagement
さまざまなLDAPタイプのデータストアでの作業を扱っている項目。Active Directoryだけでなく、NDSとWinNTも同様です。バッキングストアがLDAPに準拠していることがわかっている場合、またはさまざまなLDAPストアを切り替える可能性がある場合は、これを使用するのがおそらく最適です。
名前ActiveDirectory
空間はAD専用です。通常、AD環境内に厳密にとどまる場合にのみ、これを使用することに注意してください。
ActiveDirectoryMembershipProvider
焦点が少し異なります。これは通常、Webアプリによってメンバーシッププロバイダーの1つとして使用されます。他のメンバーシッププロバイダーには、SqlMembershipProvider
作成する可能性のあるカスタムプロバイダーが含まれます。これは、バッキングストアがADである可能性がある場合に使用されますが、将来的にSQLサーバーまたはその他のランダムストアを使用するように変更される可能性もあります。
要約すると、それはすべて、アプリが現在どのように機能し、将来どのように成長する可能性があるかということです。デスクトップアプリを使用している場合は、System.DirectoryServices
名前空間を使用します。不明な環境にデプロイされる可能性のあるWebアプリがある場合は、メンバーシッププロバイダーを使用してください。
一部のアプリでは、SqlMembershipProviderとSystem.DirectoryServicesスペースを組み合わせて使用していることに注意してください。具体的には、承認がアプリに残っている間にLDAPストア(AD / NDS)に認証するためです。