我遇到了一个障碍,这与 Google Search Appliance 和 ASP 之间的身份验证有关。通常,当从 Search Appliance 请求安全页面时,Search Appliance 会请求凭据,然后使用这些凭据尝试访问安全结果。如果此尝试成功,该页面将显示在结果列表中。由于 ASP 代表客户与 Search Appliance 联系,因此它需要收集凭据并将其传递给 Search Appliance。我已经尝试了几种不同的记录方法来实现这一点,但它们似乎不起作用。以下是我尝试过的代码:
'Bypass SSL since discovery.gov.mb.ca does not have valid SSL cert (NOT PRODUCTION SAFE)
ServerCertificateValidationCallback = New System.Net.Security.RemoteCertificateValidationCallback(AddressOf customXertificateValidation)
googleUrl = "https://removed.com"
Dim rdr As New XmlTextReader(googleUrl)
Dim resolver As New XmlUrlResolver()
Dim myCred As New System.Net.NetworkCredential("USERNAME", "PASSWORD", Nothing)
Dim credCache As New CredentialCache()
credCache.Add(New Uri(googleUrl), "Basic", myCred)
resolver.Credentials = credCache
rdr.XmlResolver = resolver
doc = New System.Xml.XPath.XPathDocument(rdr)
path = doc.CreateNavigator()
Private Function customXertificateValidation(ByVal sender As Object, ByVal certificate As System.Security.Cryptography.X509Certificates.X509Certificate, ByVal chain As System.Security.Cryptography.X509Certificates.X509Chain, ByVal sslPolicyErrors As Net.Security.SslPolicyErrors) As Boolean
Return True
End Function