У меня есть сервер Windows 2008 R2 с установленным IIS7.5. Мне нужно предоставить пользователям доступ для чтения и записи к некоторому дереву каталогов через WebDAV. Те же пользователи также смогут получить доступ к тем же каталогам другими способами - FTP, SFTP, CIFS и т. Д.
Моя цель: я не хочу, чтобы кто-то мог загружать / изменять файлы web.config в опубликованных папках, тем самым изменяя поведение IIS. Если такой файл создается, IIS должен просто рассматривать его как любой другой файл.
Можно ли сконцентрировать все настройки сайта в applicationHost.config или в любом другом файле вне опубликованного дерева и заставить IIS игнорировать любые дополнительные файлы web.config?
Спасибо!
Нашел соответствующую настройку - она называется allowSubDirConfig. Его можно указать либо в virtualDirectoryDefaults
элемент (для всех сайтов) или в virtualDirectory
элемент, в applicationHost.config
файл.
Пример:
<configuration>
<system.applicationHost>
<sites>
<site name="Default Web Site" id="1" serverAutoStart="true">
<application path="/">
<virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" />
<virtualDirectory path="/Temp" physicalPath="C:\TempRoot" allowSubDirConfig="false" />
</application>
<applicationDefaults applicationPool="DefaultAppPool" />
<virtualDirectoryDefaults allowSubDirConfig="true" />
</sites>
</system.applicationHost>
</configuration>
web.config
файлы в виртуальном каталоге / Temp проверяться не будут.
Есть и другие способы: http://www.sourceinaction.com/blog/web.config-dependencies-for-multiple-asp.net-web-applications
Посмотрите ответ Анила Руиа здесь: http://forums.iis.net/t/1161527.aspx?Disable+creating+web+configs+in+each+folder
Если вы перейдете в applicationhost.config и заблокируете все разделы (overrideModeDefault = "Deny"), то диспетчер IIS запишет все параметры конфигурации IIS в applicationhost.config (то же самое для параметра конфигурации asp.net и корневого файла web.config). Обратите внимание, что это полностью помешает кому-либо использовать файлы web.config для переопределения настроек IIS - и они могут кричать об этом.