我们机构有一个大的LDAP系统,我们通过端口636上的LDAPS访问。我试图创建一个IQueryable接口到这个LDAP,它映射到现有的People实体但有麻烦。IQueryable to non-AD LDAP
我提到上述,所以大家都知道我的最终目标,但是如果有人能够帮助我简单地对这个非AD的LDAP运行成功的查询,即使它在IQueryable领域之外,我也会很满意。这里是我到目前为止(我已经编辑了安全密码,uid和OU):
var url = @"ldaps://ldap.ucdavis.edu:636/uid=s1,ou=s2,dc=ucdavis,dc=edu";
var password = @"something";
DirectoryEntry entry = new DirectoryEntry(url);
entry.Password = password;
entry.AuthenticationType = AuthenticationTypes.Secure;
DirectorySearcher mySearcher = new DirectorySearcher(entry);
SearchResultCollection results;
results = mySearcher.FindAll();
foreach(SearchResult resEnt in results) {
ResultPropertyCollection propcoll = resEnt.Properties;
foreach (string key in propcoll.PropertyNames)
{
foreach (object values in propcoll[key])
{
switch (key)
{
case "sn":
//sb.Append(key.ToString() + "<surname>"
//+ values.ToString() + "</surname>");
break;
case "cn":
//sb.Append(key.ToString() + "<cn>"
//+ values.ToString() + "</cn>");
break;
case "name":
//sb.Append(key.ToString() + "<name>"
//+ values.ToString() + "</name>");
break;
}
}
}
}
但我不断收到就行了mySearcher.FindAll()“未知错误”。有人在这里看到一个明显的问题?我是否正确指定了ou和uid?
谢谢,但没有去,似乎没有在差错中有所作为。 – Christopher 2011-03-21 22:46:13