2011-07-01 11 views
3

SAのDSからS.DS.Pコードに移行するAuthenticationTypesの同等のAuthType値を知る必要があります。System.DirectoryServicesからDirectoryServices.Protocolsに切り替えるときの認証タイプ

現在、System.DirectoryServices名前空間を使用しているLDAP接続モジュールを書き直しています。非ActiveDirectoryサーバーとの互換性を高めるために、System.DirectoryServices.Protocolsを使用するために、すべてのコードを書き直そうとしています(「.NET開発者ガイド - ディレクトリサービスプログラミング」の推奨事項に従って)。 AuthenticationTypes列挙型をSD.Protocolsで使用されているAuthTypeに列挙する間の移行。新しいコードがリリースされたときに古いコードを使用しているクライアントが機能を失わないように、2つの間の同等性を知る必要があります。

私が知っている:
なし - >基本
セキュア - >ネゴシエート(多かれ少なかれ)
匿名 - >なし
SecureSocketsLayer - >設定LdのapSessionOptions.SecureSocketsLayerをtrueに設定

答えて

5

正しい軌道に乗っているようです。

なし::AuthType.Basic

セキュア:AuthType.Negotiate

匿名:AuthType.Anonymous

は、いくつかの研究を行った後、私はほとんどAuthenticationTypes値の全てをマッピングすることができました

署名:LdapSessionOptions.Signing

シール:LdapSessionOptions.Sealing

SecureSocketLayer:LdapSessionOptions.SecureSocketLayer

暗号化:SecureSocketLayer

と同じ値

ReadonlyServer:LdapSessionOptions.LocatorFlag.WriteableRequired = falseを

Serverbind:使用fullyQualifiedDnsHostName引数を持つLdapDirectoryIdentifierコンストラクタの1つ、値をtrueに設定します。

FastBind:このS.DS.Pは低いレベルで動作するため、適用されません。

委任:対応する設定が見つかりませんでした。委任が暗黙的である可能性があります。テストする方法の1つは、コードをthis pageに変換し、それが動作するかどうかを確認することです。

AD以外のすべてのサーバーがAuthType.Negotiateをサポートするわけではないことに注意してください。これはWindows固有のものです。 LocatorFlagの値のようないくつかの他のものもありますが、これは非ADシステムでは何も意味しません。したがって、いくつかの前提がもはや安全ではないため、AD接続を想定したコードを変換するときは注意してください。

+0

FastBindが引き続き適用される場合は、接続のSessionOptionsでFastConcurrentBind()メソッドを使用します。素晴らしい答え! – Jakub

+0

@Jakub - FastConcurrentBindはFastBindと同じではありません。 [このドキュメント](http://msdn.microsoft.com/en-us/library/bb332056.aspx#sdspintro_topic6_perform) – Artomegus

+0

を参照してください[このドキュメント](http://msdn.microsoft.com/en/ -us/library/aa705937%28v = vs.85%29。aspx)、FastConcurrentBindとFastBindは同じ基本目的(パフォーマンスのスピードアップ)を持っていますが、非常に良い点があります。 – Jakub

関連する問題