Здравствуйте. Я разрабатываю сайт с использованием ASP.NET MVC. Дошел до аутентификации администратора сайта, решил использовать метод аутентификации Forms. Сделал настройки в Web.Config и получил ошибку:
Описание: Ошибка при обработке файла конфигурации, требуемого для обслуживания этого запроса. Изучите указанные ниже подробные сведения об этой ошибке и измените файл конфигурации.
Сообщение об ошибке синтаксического анализатора: Эта ошибка использования раздела, зарегистрированного как allowDefinition=’MachineToApplication’ вне уровня приложения. Эта ошибка может быть вызвана тем, что виртуальный каталог не настроен в IIS как приложение.
Установил IIS, для DefaultWebsite создал новое приложение, настроил имя и физический путь до разрабатываемого сайта. В Visual Stduio в свойствах проекта указал использование локального сервера IIS и ввел имя приложения, которое я создал. Это не помогло, ошибка осталась. Кажется, я недопонимаю что-то важное. Как побороть ее? Заранее спасибо.
I don’t believe you can define
<authentication mode="Windows" />
inside of a <location>
because that is an application-level setting. In other words, you can’t use different authentication modes for different web pages in the same application. You will need to define this in the main <system.web>
section of your configuration file instead.
The error message is just referring to one possible source of the error. Usage of any application-level setting inside of a <location>
tag or in a child web.config
file in a subfolder of an application root will generate this error message as well.
If you truly need multiple authentication methods, you can create a subfolder as a virtual application and define it there, for example, /winLogin/Default.aspx
page controlled by configuration settings in /winLogin/web.config
.
Update
Are you sure you can’t?
I just checked the QA web site where this app is running fine and the Web.config has the following entries:
<location path="winLogin.aspx">
<system.web>
<authentication mode="Windows" />
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
The problem I am having is on my dev / local machine
HelloWord 7 / 7 / 5 Регистрация: 15.04.2009 Сообщений: 567 |
||||
1 |
||||
28.02.2013, 19:03. Показов 6795. Ответов 3 Метки нет (Все метки)
Добрый день
Почему-то он не нравится проекту. И выподает ошибка
0 |
9 / 9 / 2 Регистрация: 07.12.2010 Сообщений: 98 |
|
28.02.2013, 20:05 |
2 |
Попробуй в IIS’е найти каталог со своим сайтом, кликнуть по нему правой педалью и выбрать ‘Преобразовать в приложение’.
1 |
7 / 7 / 5 Регистрация: 15.04.2009 Сообщений: 567 |
|
01.03.2013, 09:25 [ТС] |
3 |
Спасибо. Я кликнула правой кнопкой. Но не нашла — Преобразовать приложения
0 |
9 / 9 / 2 Регистрация: 07.12.2010 Сообщений: 98 |
|
01.03.2013, 11:20 |
4 |
Тогда странно, я решал проблему с аналогичной ошибкой у себя именно так. Возможно у тебя версия IIS’a помладше и там нету такого. У меня IIS седьмой.
0 |
Помогите решить проблему. Имеется веб сайт на ASP. внутри 2 виртуальные папки «Пациент» и «Сотрудник» (по сути 2 разных сайта).
В каждой папке свой файл web.config, ссылающийся на форму аутентификации (соответсвенно для 2х разных сайтов — разные формы).
<system.web>
<customErrors mode="Off" />
<globalization enableClientBasedCulture="true" culture="auto" uiCulture="auto" requestEncoding="utf-8" responseEncoding="utf-8" fileEncoding="utf-8" />
<authentication mode="Forms">
<forms name="FwLoginCookie" loginUrl="Login.aspx" timeout="1200">
</forms>
</authentication>
<authorization>
<deny users="?" />
</authorization>
<compilation targetFramework="4.0" debug="true" />
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID" theme="Default" />
</system.web>
пытаюсь построить проект, студия выдает ошибку:
Эта ошибка использования раздела, зарегистрированного как allowDefinition=’MachineToApplication’ вне уровня приложения.
Эта ошибка может быть вызвана тем, что виртуальный каталог не настроен в IIS как приложение.
Игнорирую ошибку, выливаю руками (не студией) сайт на хостинг (masterhost.ru) — та же ошибка.
Сайт написан не мной, поставили задачу, чтобы работало в интернете)) Подскажите пожалуйста, как решить проблему? Как перестроить проект, чтобы проблемы не возникало?
Необходимо, чтобы эти два сайта открывались таким образом на одном домене:
- имясайта.ru/Пациент/
- имясайта.ru/Сотрудник/
формы аутентификации обязательно должно быть 2 разные. Заранее благодарна)
- Remove From My Forums
Ошибка конфигурации
-
Вопрос
-
Я копирую приложение Kehila_web2 в каталог c:inetpubwwwrootKehila_web2, настраиваю IIS (новый пул Kehila_web2, сайт Kehila_web2 на его основе), но получаю ошибку:
Описание: Ошибка при обработке файла конфигурации, требуемого для обслуживания этого запроса. Изучите указанные ниже подробные сведения об этой ошибке и измените файл конфигурации.
Сообщение об ошибке синтаксического анализатора: Эта ошибка использования раздела, зарегистрированного как allowDefinition=’MachineToApplication’ вне уровня приложения. Эта ошибка может быть вызвана тем, что виртуальный каталог
не настроен в IIS как приложение.
Ошибка источника:Строка 49: </authorization> Строка 50: --> Строка 51: <authentication mode="Forms"> Строка 52: <forms loginUrl="~/Account/Login.aspx" timeout="2880" /> Строка 53: </authentication>
Исходный файл: C:inetpubwwwrootKehila_Web2web.config Строка:
51
Как и где мне настроить виртуальный каталог?
Ответы
-
Посмотрите, если проблема не в этом будем разбираться дальше. «Как и где мне настроить
виртуальный каталог?« — в консоли IIS.
Посмотрите статью в MSDN.
Сделаем содержимое сообщества лучше, вместе!
-
Помечено в качестве ответа
26 февраля 2014 г. 12:36
-
Помечено в качестве ответа
-
Насчёт привязок посмотрите
эту и эту статьи.
Сделаем содержимое сообщества лучше, вместе!
-
Помечено в качестве ответа
Maksim MarinovMicrosoft contingent staff, Moderator
26 февраля 2014 г. 12:36
-
Помечено в качестве ответа