0
我正在用c#运行一个asp.net web应用程序。以下是用于: - 在Windows 2003服务器 - IIS6.0 - .NET框架2.0.50727表单身份验证和XmlDocument.Load
我试图实现窗体身份验证,并已进入在web.config文件中下面的代码:
<authentication mode="Forms">
<forms loginUrl="01_Login.aspx"
name=".ASPXFORMSAUTH"
defaultUrl="02_PendingDoc.aspx"
timeout="120"
path="/"
protection="All"
enableCrossAppRedirects="true">
</forms>
</authentication>
<authorization>
<deny users="?"/>
<allow users="*"/>
</authorization>
登录按预期工作,除非使用有效的用户名和密码登录,否则用户将无法访问01_Login.aspx以外的任何页面。当用户提供了正确的登录细节下面的代码完成:
FormsAuthentication.RedirectFromLoginPage(logLogin.UserName, false);
然而,当一个按钮用户点击下面的代码运行:
//Load xml file into XMLDocument object
XmlDocument xmlDoc = new XmlDocument();
try
{
xmlDoc.Load("SearchConfig.xml");
}
catch (XmlException e)
{
Console.WriteLine(e.Message);
}
的xmlDoc.Load函数以上的意志失败并用以下消息创建XmlException“{”未找到预期的DTD标记。第5行,第3位。“}”。我也试图注释掉Web.config文件的以下部分:
<deny users="?"/>
然后是xmlDoc.Load功能的工作原理,但当然,那么用户就可以访问所有的我的应用程序页面。
任何人,有任何想法我做错了什么?
你必须向我们展示你正在尝试加载,如果您希望我们帮助您和您在加载XML错误的XML。此外,总是显示ex.ToString()而不是ex.Message。 – 2010-01-21 05:31:37
您可能正在使用DTD引用其旧式XML验证,现在使用xsd/xmlschema。您需要放置serchconfig.xml的内容。 – affan 2010-01-21 05:35:42