我一直在试图查询LDAP目录服务器以检索tnsnames条目。我有以下代码工作,但它没有正确的味道。是不是因为它是错误的,或者是因为查询LDAP需要间接的几级如何从LDAP目录中提取TNSNames
let identifier = LdapDirectoryIdentifier(server, port)
use connection = new LdapConnection (identifier)
connection.AuthType <- AuthType.Anonymous
let request = System.DirectoryServices.Protocols.SearchRequest(defaultAdminContext, "cn=" + sid, SearchScope.OneLevel, "orclnetdescstring")
let response = connection.SendRequest request :?> SearchResponse
Seq.init response.Entries.Count (fun i -> response.Entries.[i])
|> Seq.collect (fun entry ->
let value = entry.Attributes.["orclnetdescstring"]
Seq.init value.Count (fun i -> value.[i])
|> Seq.map (fun v -> Some (v :?> string))
)
我希望的是简单的通话,基本上是“查询目录,并返回结果”,但似乎有一个很多'东西'我必须这样做才能读取真正的价值。
你可以用你的语言,操作系统和directoy重新使用你的问题吗? – JPBlanc 2011-05-13 10:55:00
我已经添加了.net标记,但我不知道正在使用的目录。我需要知道吗?我认为LDAP是一个标准 – 2011-05-13 13:13:38