asp.net, наследование web.config и сброс настроек аутентификации - PullRequest
1 голос
/ 17 декабря 2009

У меня есть приложение ASP.net 1.1.

В подпапке я установил blogengine.net, приложение 2.0.

Папка настроена как приложение и использует надлежащий каркас.

Работает ... кроме аутентификации.

Проблема в наследовании от web.config в корневом приложении.

Распространенным решением этой проблемы является использование «clear» в файле конфигурации вашего вложенного приложения для каждой вещи, которую вы хотите сбросить.

<httpModules>
    <clear/>
</httpModules>

Проблема в том, что в тегах аутентификации не разрешено «очищать»:

<authentication mode="Forms">
    <clear/>
    <forms... rest of my child app's settings for authentication...>
</authentication>

Это приводит к синтаксической ошибке.

Кто-нибудь знает способ заставить это работать? Мне нужно, чтобы информация аутентификации корневого приложения в web.config не наследовалась в дочернем приложении.

ОБНОВЛЕНИЕ: согласно ответу curious_geek, один вариант - изменить конфигурацию root, чтобы не допустить наследования. Тем не менее, я понимаю, что также заблокирует свойства system.config. Это обычно большое дело? Это не мой сервер, так что удивляйтесь, если при этом появятся некоторые проблемы с безопасностью, которые могут не решаться администратором сервера.

1 Ответ

4 голосов
/ 17 декабря 2009

Вы должны указать родительскому web.config no, чтобы принудительно наследовать раздел в child-application.

Если вы хотите прекратить наследование раздела system.web дочернему приложению, вы должны обернуть раздел system.web элементом элемента, указанным ниже.

  <location path="." inheritInChildApplications="false">

        <system.web>

        </system.web>

  </location>

Вы также можете применить эту технику для остановки наследования в разделе строк подключения и настроек приложения.

PS : когда вы на самом деле добавляете это строки в web.config, визуальная студия не признать его действительным и пометить его как ошибка, но будьте уверены, что это будет хорошо работать под IIS, когда развертывается.

...