首页 新闻 搜索 专区 学院

用以下代码读取SharePoint Service 3.0域账户信息报错“安全错误!”

0
悬赏园豆:5 [已解决问题] 解决于 2012-10-08 12:00

用以下代码读取SharePoint Service 3.0域账户信息报错“安全错误!”

读取SharePoint2010域账户是没问题的,怎么读SharePoint Service 3.0域账户信息?

 

  ///<summary>
  /// 从域中读取所有用户
  /// </summary>
  /// <param name="ADName"></param>
  /// <returns></returns>
  public Data[] ReadADUser(string ADName)
  {
   DirectoryEntry de = new  DirectoryEntry("LDAP://" + ADName);
   //查询
   DirectorySearcher src = new DirectorySearcher("(&(objectCategory=person)(objectClass=user))");
   //根节点
   src.SearchRoot = de;
   //搜索范围包含所有子对象
   src.SearchScope = SearchScope.Subtree;
   SearchResultCollection col = src.FindAll();
   Data[] ds = new Data[col.Count];
   //遍历所有搜索到的节点
   for(int i=0;i<col.Count;i++)
   {
    SearchResult res = col[i];
    ds[i] = new Data();
    //显示所有属性名和属性值
    foreach(string myKey in res.Properties.PropertyNames)
    {
     foreach(object obj in res.Properties[myKey])
     {
      ds[i].Add(myKey, obj == null ? null : obj.ToString());
     }
    }
   }
   return ds;
  }

< >
分享
最佳答案
0

哪一句代码报错?

该代码执行是否需要管理员权限?

收获园豆:5
Launcher | 高人七级 |园豆:45045 | 2012-09-14 11:30

只能确定是这段代码报错 因为只用了这一段代码

客户的服务器不让进 所以没办法调试 也不知道是哪句报错

在SharePoint2010中不需要管理员账户,任意在域中的账户登录,然后运行这个执行这段代码的程序即可。

心未鳴 | 园豆:223 (菜鸟二级) | 2012-09-14 12:24

@心未鳴: 首先你应该确认“安全错误!”是由那行代码触发的,另外,你应该尽可能捕获异常并记录下来,以便事后分析具体原因,最后,在UAC下,某些操作需要管理员权限才能执行,比如写注册表。

Launcher | 园豆:45045 (高人七级) | 2012-09-14 13:12

@Launcher: 确认了。是“DirectoryEntry de = new  DirectoryEntry("LDAP://" + ADName);”这句报错...客户记错了自己的AD域名......

心未鳴 | 园豆:223 (菜鸟二级) | 2012-10-08 12:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册