Проверка подлинности формы и XmlDocument.Load - PullRequest
0 голосов
/ 21 января 2010

Я запускаю веб-приложение 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, но, конечно, тогда пользователи могут получить доступ ко всем страницам моих приложений.

Кто-нибудь, кто знает, что я сделал не так?

1 Ответ

0 голосов
/ 21 января 2010
<?xml version="1.0"?>
<BankSearch><SearchColumns>
    <Column>
        <Name>Bank_Name</Name>
        <Control>TextBox</Control>
        <Description>Bank Name</Description>
    </Column>
</SearchColumns>
<SearchStoredProc Name="usp_BankSearch">
    <Parameter1 control="txtBank_Name">@Bank_Name</Parameter1>
</SearchStoredProc>
<DisplayColumns>
    <Column HeaderText="Bank Name" HyperLinkColumn="True" NavigateUrl="~/Bank/Bank.aspx"  NavigateUrlFields="Bank_Id"   QueryStrings="BID">Bank_Name</Column>       
    <Column HeaderText="Bank Address">Bank_Address</Column>
    <Column HeaderText="Bank Email Id">BANK_EMAIL_ID</Column>
    <Column HeaderText="Bank Phone">Bank_Phone</Column>
    <Column HeaderText="Bank Fax">BANK_FAX_NO</Column>
    <Column HeaderText="City">City</Column>
    <Column HeaderText="Postal Code">POSTAL_CODE</Column>
    <Column HeaderText="State">STATE_NAME</Column>
    <Column HeaderText="Country">Country_Name</Column>              
</DisplayColumns>

...