【问题标题】:Passing empty strings or nulls to DirectoryEntry constructor将空字符串或空值传递给 DirectoryEntry 构造函数
【发布时间】:2012-01-27 14:37:49
【问题描述】:

今天注意到一件奇怪的事情。我正在处理的项目中有一些这样的代码:

var directoryEntry =new DirectoryEntry(
    ConfigurationManager.AppSettings["path"],
    ConfigurationManager.AppSettings["user"], 
    ConfigurationManager.AppSettings["password"]
);

这是类库的一部分。当我从另一个项目中使用这个库时,我忘记在 .config 文件中为应用程序/站点定义这些键,但它仍然有效。

我怀疑这个构造函数与 PrincipalContext 构造函数 http://msdn.microsoft.com/en-us/library/bb298328.aspx 的工作方式类似,因为如果您传递空值,它会使用当前用户的凭据,尽管 MSDN 文档没有说明任何内容。

谁能证实或否认这一点?

【问题讨论】:

    标签: c# .net directoryentry


    【解决方案1】:

    此代码示例没有引发异常,但这并不意味着它一定可以工作。 DirectoryEntry 构造函数不对传递给它的值进行任何类型的身份验证或验证。相反,它仅存储这些值,稍后将尝试使用这些值在服务器上进行查询。

    这个特定的代码不会抛出空字符串或失败,但任何导致它绑定到服务器的调用很可能会失败。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-13
      • 1970-01-01
      • 2017-04-25
      相关资源
      最近更新 更多