在我验证用户存在后,我正在努力使用 LDAP 从 AD 返回用户详细信息。我正在使用一个简单的身份验证方法,如下所示:
Function AuthenticateUser(path As String, user As String, pass As String) As Boolean
Dim de As New DirectoryEntry(path, user, pass, AuthenticationTypes.Secure)
Try
Dim ds As DirectorySearcher = New DirectorySearcher(de)
Dim result As SearchResult = ds.FindOne()
If result Is Nothing Then Return False
'>>DEBUG OUTPUTS ONLY:
displayName.Text = result.GetDirectoryEntry().Properties.Item("distinguishedName").Value
displayName.Text += result.GetDirectoryEntry().Properties("name").Value
Return True
Catch
Return False
End Try
End Function
问题是“distinguishedName”返回“DC=our-domain,DC=co,DC=uk”,而“name”只返回“our-domain”,而不是刚刚被认证的用户名
注意:displayName.text 输出纯粹用于调试目的
我尝试了各种请求组合,但似乎没有返回用户详细信息。
ETA:致安全警察:这一切都在 https 连接中,我不会以纯文本形式发送密码!