Как написать в Web.Config в Medium Trust?

Загрузка моего первого веб-приложения приличного размера на общий хост предоставила мне новый набор проблем, под которыми я имею в виду бессонные ночи. Проблема заключалась в том, что я наверняка не разработал свое приложение для среднего доверия (или не знал, что это было).

Я смягчил все проблемы, кроме одного.

Я написал установщик для администратора, чтобы он мог указать их строку подключения и другие параметры, но я не могу найти способ записи в файл web.config со средним уровнем доверия. У кого-нибудь есть решение, или я просто должен поместить предпочтения в другой файл?

1 ответ

Это на самом деле звучит как IIS Low уровень. Если это так, то вы не сможете писать ни в один файл, не только в файл web.config.

Вот уровни из справочного файла IIS:

  • Полный (внутренний) - определяет неограниченные разрешения. Предоставляет разрешения приложения ASP.NET для доступа к любому ресурсу, который подлежит безопасности операционной системы. Все привилегированные операции поддерживаются.
  • Высокий (web_hightrust.config) - указывает на высокий уровень безопасности доступа к коду, что означает, что приложение не может выполнить по умолчанию одну из следующих вещей:
    • Вызов неуправляемого кода.
    • Вызовите обслуживаемые компоненты.
    • Написать в журнал событий.
    • Доступ к очередям службы очереди сообщений.
    • Доступ к источникам данных ODBC, OleDb или Oracle.
  • Средний (web_mediumtrust.config) - указывает средний уровень безопасности доступа к коду, что означает, что в дополнение к ограничениям высокого уровня доверия приложение ASP.NET по умолчанию не может выполнять следующие действия:
    • Доступ к файлам за пределами каталога приложения.
    • Доступ к реестру.
    • Сделайте вызовы сети или веб-службы.
  • Низкий (web_lowtrust.config) - указывает на низкий уровень безопасности доступа к коду, что означает, что в дополнение к ограничениям среднего уровня доверия приложение по умолчанию не может выполнять следующие действия:
    • Написать в файловую систему.
    • Вызовите метод Assert.
  • Минимальный (web_minimaltrust.config) - указывает минимальный уровень безопасности доступа к коду, что означает, что приложение имеет только разрешения на выполнение.

Я хотел бы предложить, что если у вас нет намерений иметь установщик, пусть он создаст web.config в памяти, которую пользователь может сохранить локально и FTP после.

Другие вопросы по тегам