Аутентификация в Google Search Appliance с использованием обычной HTTP-аутентификации и ASP.NET (VB) - PullRequest
0 голосов
/ 09 марта 2009

Я столкнулся с проблемой, связанной с аутентификацией между 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

1 Ответ

0 голосов
/ 14 июля 2009

Посмотрите на этот проект здесь: GSALib на CodePlex . Это API с открытым исходным кодом для мини-устройств GSA и GSA. Он может обрабатывать передачу учетных данных, результатов запросов и т. Д. Из любого приложения .NET. Хотя написано на C #, вы можете взглянуть на код и посмотреть, как они обрабатывают процедуры аутентификации или использовать его вместо вашего собственного пользовательского кода, это может сэкономить вам немного времени.

Примечание: я использовал GSALib dll в веб-приложении VB.NET, в прошлом проблем не было.

...