Я столкнулся с проблемой, связанной с аутентификацией между Google Search Appliance и ASP. Обычно при запросе защищенных страниц у Google Search Appliance запрашивает учетные данные, а затем использует эти учетные данные для доступа к защищенным результатам. Если эта попытка успешна, страница отображается в списке результатов. Поскольку ASP связывается с Google Search Appliance от имени клиента, ему необходимо собрать учетные данные и передать их Google 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