В элементе <location>
должно быть просто следующее:
<location path="Recovery">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
(Если вам действительно нужно удалить их, вы также можете включить элемент handlers).
Ни элементы Authentication, ни элементы RoleManager недопустимы в web.config не уровня приложения, поэтому их нельзя определить в элементе <location>
.
Редактировать в ответ на комментарий
Извините, чтобы уточнить: у вас слишком много в вашем элементе местоположения - элементы <authentication>
и <roleManager>
там не разрешены (если / Recovery не является приложением в IIS) и, скорее всего, вызовет вторую ошибку, о которой вы сообщаете в своем вопросе, ее необходимо будет удалить, прежде чем страница будет отображаться правильно.
Вы видите ошибку «не удается найти сборку» везде или только на странице в папке «Восстановление»? Эта папка помечена как «приложение» в IIS? Если это так, вам нужно скопировать двоичные файлы вашего сайта в папку / bin в папке / Recovery или удалить параметры приложения в папке в IIS.
Я только что понял, что сказал «элементы авторизации» в первых двух разделах, когда имел в виду «Элементы аутентификации» - извините, если это не так.
Изменить в ответ на второй комментарий
Обычно в IIS может быть один или несколько веб-сайтов - они являются корнями сайта и определяются как начальная точка приложения.
IIS также позволяет вам настраивать подпапки веб-сайта как приложение, что позволяет вам делать такие вещи, как:
- Изменение параметров конфигурации, которые разрешено устанавливать только на уровне приложения
- Запустить часть сайта в другом пространстве памяти
- Запустить часть сайта под другой учетной записью пользователя
Однако, если вы делаете папку приложением, вам нужно убедиться, что весь код, который ей нужен, доступен, и когда вы запустили новое приложение, код в корневых / bin (или / app_code) папках эта папка больше недоступна.
Обычно в диспетчере IIS вы щелкаете по папке и удаляете приложение, чтобы оно наследовало от корня.