저는 C#으로 asp.net 웹 응용 프로그램을 실행하고 있습니다. 다음은 사용됩니다 - 윈도우 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 마크 업을 찾을 수 없습니다. Line 5, position 3. "}". 또한 Web.Config 파일의 다음 부분을 주석 처리하는 것을 시도했다 :
<deny users="?"/>
을 그리고 다음 xmlDoc.Load 기능이 작동하지만, 물론, 그 사용자는 내 응용 프로그램의 모든 페이지에 액세스 할 수 있습니다.
누구나 내가 뭘 잘못했는지 알 수 있습니까?
당신은 우리에게 당신이 우리가 XML을로드하는 동안 당신이 얻을 오류와 함께 당신을 도울하려는 경우,로드하려는 XML을 표시해야합니다. 또한 항상 ex.Message 대신 ex.ToString()을 표시하십시오. –
xsd/xmlschema가 사용되는 DTD 참조를 이전 스타일 XML 유효성 검사를 사용 중일 수 있습니다. serchconfig.xml의 내용을 넣어야합니다. – affan