Параметры авторизации ASP.NET web.config игнорируются - PullRequest
1 голос
/ 25 июля 2011

Я искал какое-то решение, но не могу его найти. Есть это и это , но они не могут найти и ответить там. Я занимаюсь разработкой приложения asp.net на сервере разработки ASP.NET . У меня есть следующий web.config в моей корневой папке asp.net:

<?xml version="1.0"?>  
<configuration>  
  <system.web>  
    <compilation debug="true" targetFramework="4.0" />  
    <authentication mode="Forms">  
      <forms name="4df5d465h"  
          loginUrl="~/login.aspx"  
          protection="All"  
          timeout="30" path="/" />  
    </authentication>  
    <authorization>  
      <deny users="?"/>  
    </authorization>  
  </system.web>  
</configuration>  

Моя папка с изображениями вместе с моим основным файлом web.config в корневой папке приложения asp.net.
Внутри папки с изображениями Я поместил следующий файл web.config:

<?xml version="1.0"?>  
<configuration>  
  <system.web>  
    <authorization>  
      <allow roles="*"/>  
      <allow users="*"/>  
    </authorization>  
  </system.web>  
</configuration>  

Я ставлю атрибут роли после того, чтобы посмотреть, работает ли он.
Я также написал основной файл web.config:

<?xml version="1.0"?>  
<configuration>
  <system.web>  
    <compilation debug="true" targetFramework="4.0" />  
    <authentication mode="Forms">  
      <forms name="3D45C7D8B0B0C"  
          loginUrl="~/login.aspx"  
          protection="All"  
          timeout="30" path="/" />  
    </authentication>  
    <authorization>  
      <deny users="?"/>  
    </authorization>  
  </system.web>  

  <location path="~/image">  
    <system.web>  
      <authorization>  
        <allow users="*"/>  
      </authorization>  
    </system.web>  
  </location>  
</configuration>

Но страница входа никогда не сможет загрузить изображения

В режиме конструктора, внутри редактора Visual Studio, изображение загружается на страницу login.aspx, тогда тег изображения должен быть в порядке.

Что я делаю не так ?? Большое спасибо.

@ nico, большое спасибо за формат моего вопроса. Нет, я не переписываю ничего. Его самое простое и стандартное приложение asp.net возможно. Это шаблон приложения по умолчанию asp.net со ссылкой на Default.aspx и простой страницей login.aspx, это тестовый проект, форма входа работает, но изображение не загружается.

@ Chris_Lively, да, в папке изображений есть файл web.config, его web.config с <'allow role =' * '>, я проверил, папка называется image \, источник тега image указывает на изображение \ это сводит меня с ума

1 Ответ

1 голос
/ 25 июля 2011

Ваш конфигурационный файл содержит ошибку - тэг 'role' не может использовать звездочку, вы должны указать конкретное имя роли ( allow element ) или вообще не использовать его.

Вы увидите сообщение об ошибке «Сообщение об ошибке анализатора: имена правил авторизации не могут содержать символ« * »в fiddler .

Я думаю, что это было причиной вашей проблемы.

...