私はSystem.DirectoryServices
を使用して、アクティブディレクトリに照会して、winformsアプリケーションでユーザーの情報を認証/取得します。以下のようなもの:.NET FrameworkでのLDAPのサポート
var path = "LDAP://" + domain;
var entry = new DirectoryEntry(path);
DirectorySearcher myDirectorySearcher = new DirectorySearcher(entry);
var filter = string.Format("(&(ObjectClass={0})(sAMAccountName={1}))", "person", username);
myDirectorySearcher.Filter = filter;
私はこのコードを企業のActive Directoryでしかテストできません。これはLDAP
をサポートしている技術であれば動作しますか?
他のLDAPサーバーの 'System.DirectoryServices'の制限は何ですか? – Kamyar
@Kamyar:他のLDAP実装に完全に依存しています。ベンダーによっては若干の偏差で標準を実装しています(ほとんどの場合、標準はほとんど解釈の余地があります)。最も顕著には、例えば、 Novell NDS(NDS 7の時点でLDAPをサポートすると主張している) MicrosoftのS.DS実装。 (Novell NDS 7が使用する)正しく覚えていれば、LDAPの 'O = ....'要素をサポートしていません。そして一部のユーザーはOpenLDAPに対してS.DSを使用しようとしましたが、いくつかの不一致/非互換性も発見されました。それらのブログの記事/記事を見つけるためにGoogleまたはBingを使用してください! –
ありがとうございます。 http://stackoverflow.com/q/8700115/337294もご覧ください。 – Kamyar