0

Google 検索アプライアンスと ASP 間の認証に関係する障害に遭遇しました。通常、検索アプライアンスから保護されたページを要求する場合、検索アプライアンスは資格情報を要求し、これらの資格情報を使用して保護された結果へのアクセスを試みます。この試行が成功すると、ページが結果リストに表示されます。ASP はクライアントに代わって検索アプライアンスに接続するため、資格情報を収集して検索アプライアンスに渡す必要があります。これを達成するために文書化されたいくつかの異なる方法を試しましたが、うまくいかないようです。以下は私が試したコードです:

'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
4

1 に答える 1

0

こちらのプロジェクトをご覧ください: GSALib on CodePlex。これは、GSA および GSA mini デバイス用のオープン ソース API です。任意の .NET アプリケーションから資格情報、クエリ結果などを渡すことができます。C# で記述されていますが、コードを見て、認証ルーチンがどのように処理されているかを確認したり、独自のカスタム コードの代わりに使用したりすることで、かなりの時間を節約できます。

補足: 過去に問題なく VB.NET Web アプリケーションで GSALib dll を使用しました。

于 2009-07-14T12:19:06.120 に答える