次のようなコードを使用して、LDAP ディレクトリへの安全な接続をセットアップします。
using (LdapConnection con = new LdapConnection(new LdapDirectoryIdentifier(ConfigReader.ADServer, 636)))
{
con.SessionOptions.SecureSocketLayer = true;
con.SessionOptions.VerifyServerCertificate = new VerifyServerCertificateCallback(ServerCallback);
con.Credential = new NetworkCredential(UserDN, UserPwd);
con.AuthType = AuthType.Basic;
con.Bind();
}
テスト中に、次の予想される動作に気付きました。
- 有効な UserDN と有効な UserPwd により、Bind() が成功する
- 有効な UserPwd を持つ無効な UserDN により、Bind() エラーが発生します (指定された資格情報が無効です)。
- 無効な (空白ではない) UserPwd を持つ無効な UserDN により、Bind() エラーが発生します (指定された資格情報が無効です)。
残念ながら、次の予期しない動作も確認されました。
- UserDN が有効で UserPwd が空白の場合、Bind() は成功します。
- UserDN が無効で UserPwd が空白の場合、Bind() が成功する
空白のパスワードで LDAP 接続が成功する理由を教えてください。
ありがとう、