Я запускаю веб-приложение asp.net с помощью c #.Используется следующее: - сервер Windows 2003 - IIS6.0 - .net Framework 2.0.50727
Я пытаюсь внедрить проверку подлинности с помощью форм и ввел следующий код в файл 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.Вышеуказанная функция загрузки завершится с ошибкой и создаст исключение XmlException со следующим сообщением "{" Не найдена ожидаемая разметка DTD.Строка 5, позиция 3. "}".Я также попытался закомментировать следующую часть файла Web.Config:
<deny users="?"/>
А затем работает функция xmlDoc.Load, но, конечно, тогда пользователи могут получить доступ ко всем страницам моих приложений.
Кто-нибудь, кто знает, что я сделал не так?