2013-04-08 5 views
-3

У меня есть следующий код: Моя цель состоит в том, что только тогда, когда пользователь пытается перейти на Register.aspx страницы, они должны быть заверены с страницы Admin.aspx. Получаю следующее сообщение;Web.Config получаю ошибку аутентификации

Ошибка использования раздела, зарегистрированного как allowDefinition = 'MachineToApplication', превышающего уровень приложения. Эта ошибка может быть вызвана тем, что виртуальный каталог не настроен как приложение в IIS.

Я делаю что-то неправильно?

 <location path="Report.aspx">   
     <system.web> 
     <authentication mode="Forms"> 
      <forms loginUrl="Admin.aspx" > 
       <credentials passwordFormat="Clear"> 
        <user name="John" password="[email protected]"/> 
       </credentials> 
      </forms> 
     </authentication> 
     <authorization> 
      <deny users="*" /> 
     </authorization> 
     </system.web> 
    </location> 
+0

'виртуальный каталог не настроен' у вас есть установка виртуального каталога ... – MethodMan

+0

Я этого не делаю. Зачем мне нужен виртуальный каталог? Почему он просит его? –

+0

Ваш текущий параметр запретит всем пользователям просматривать страницу. –

ответ

1

Ваше приложение, вероятно, сидит в папке под свой веб-сайт в рамках этого веб-сайта, а не приложения в своем собственном праве.

Для IIS 6.1: перейдите в IIS, щелкните правой кнопкой мыши корневую папку приложений и выберите «Преобразовать в приложение».

Отдайте это и посмотрите, поможет ли оно.

Если dosn't работа ...

Проверьте вы ставите аутентификации конфигурации в корневом файле web.config, а не в одной в папке пониже. (например, тот, который сидит в папках MVC, просматривает при использовании MVC).

Хотя это не связано с вашей проблемой, так как кто-то еще сказал, что у вас есть все отрицание. Чтобы запретить пользователям, не прошедшим проверку подлинности, доступ к странице, используйте знак вопроса вместо asterix.

<location path="foo.aspx"> 
    <system.web> 
     <authorization> 
     <deny users="?" /> 
     </authorization> 
    </system.web> 
    </location> 
+0

Не работает. Вы видите что-то не так с моим кодом? –