Как написать в 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
после.