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