如何在C#中读取安全的XML URI
本文关键字:安全 XML URI 读取 | 更新日期: 2023-09-27 18:21:56
我正在尝试从C#中的URI读取一个安全的XML文档。我了解XmlReader类的基本知识。然而,我不知道如何在代码中为URI提供用户名和密码。我感觉它与XmlSecureRevolver对象有关。但是我不知道如何设置用户名和密码。有人能帮我设置凭据吗?
谢谢,Corey
我认为这应该做到:
WebRequest request = WebRequest.Create(url);
request.Credentials = new NetworkCredential("usernamne", "password");
using (WebResponse response = request.GetResponse())
{
using (XmlReader reader = XmlReader.Create(response.GetResponseStream()))
{
// Blah blah...
}
}
快速谷歌搜索术语"XmlReader Authenticate"会得到第一个结果:
http://msdn.microsoft.com/en-us/library/47as68k4%28v=vs.71%29.aspx
将URL解析为包含要读取的XML数据的文件时,该文件可能具有受限访问策略。如果访问网络资源需要身份验证,请使用XmlResolver.Credentials属性指定必要的凭据。如果未设置XmlResolver.Credentials属性,则凭据将设置为null。
XmlTextReader rdr = new XmlTextReader("http://localhost/bookstore/books.xml");
rdr.XmlResolver.Credentials = CredentialCache.DefaultCredentials;
XmlDocument doc = new XmlDocument();
doc.Load(rdr)
并使用不同的凭据:
NetworkCredential myCred = new NetworkCredential(UserName, SecurelyStoredPassword, domain);
CredentialCache myCache = new CredentialCache();
myCache.Add(new Uri("www.contoso.com"), "Basic", myCred);
myCache.Add(new Uri("app.contoso.com"), "Basic", myCred);
reader.XmlResolver.Credentials = myCache;