Загрузка документа в XSLT с использованием BASIC-аутентификации в ASP.net - PullRequest
1 голос
/ 09 марта 2011

В целях разработки у нас есть настройка сайта с BASIC-аутентификацией в IIS7. Одним из аспектов сайта является то, что он делает много преобразований с использованием XSLT. Однако это вызывает проблемы аутентификации при загрузке документов в XSLT следующим образом:

<xsl:with-param 
     name="value" 
     select="document('/mod_cms/xml/fixed/phaedrus_object_menu_display.xml')
                /menuDisplay/option[value=$pagingValue]/name"/>

Я получаю ошибку:

The remote server returned an error: (401) Unauthorized.

Просматривая решения в Интернете, я натолкнулся на предложения по использованию учетных данных, например:

Dim sw As New StringWriter()
Dim xslArg As New XsltArgumentList()
Dim xslt As New XslCompiledTransform()
Dim settings As New XsltSettings
settings.EnableDocumentFunction = True
Dim resolver As New XmlUrlResolver
Dim xml As New XmlDocument
xml.LoadXml(sXml)

Dim myCache As New System.Net.CredentialCache()
myCache.Add(New Uri("http://URL.net/"), "Basic", New System.Net.NetworkCredential("???", "???"))
myCache.Add(New Uri("http://URL.net/mod_cms/xml/fixed/"), "Basic", New System.Net.NetworkCredential("???", "???"))
resolver.Credentials = myCache '

xslt.Load(sXsl, settings, resolver)
xslt.Transform(xml, xslArg, sw)

Но, похоже, это не работает.

У кого-то еще была эта проблема.

Заранее спасибо за любую помощь.

1 Ответ

0 голосов
/ 09 марта 2011

Попробуйте использовать XmlUrlResolver объект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...