Это звучит как разрешения. В зависимости от того, как вы настроили ASP.NET, удостоверение рабочего процесса или удостоверение анонимного пользователя сайта IIS не имеют разрешения на запись.
Если ваш мастер machine.config
(в %systemroot%\Microsoft.NET\Framework\v2.0.50727\CONFIG
или локальном web.config
имеет следующую строку:
<identity impersonate="true" />
Это означает, что запросы будут выполняться под идентификатором анонимного пользователя сайта.
Откройте диспетчер IIS и откройте свойства для Default Website
:
Запишите имя пользователя в поле, выделенном красным, убедитесь, что эта учетная запись имеет разрешения на изменение c:\inetpub\wwwroot\Umbraco
и его дочерних папок и файлов.
Если ваш machine.config
или web.config
указывает:
<identity impersonate="true" username="someuser" password="somepassword />
Затем необходимо убедиться, что someuser
имеет разрешения на запись для c:\inetpub\wwwroot\Umbraco
и его дочерних папок и файлов.
Если вы не видите эти записи конфигурации, ваш сайт будет работать под учетной записью рабочего процесса. Скорее всего, это будет NETWORK SERVICE
, но вы можете проверить, открыв свойства сайта в IIS Manager и выбрав вкладку Home Directory
. Внизу вы увидите Application Pool
:
Запишите это и перейдите к узлу Application Pools
панели LHS IIS Manager. Щелкните правой кнопкой мыши и откройте свойства пула приложений, указанные выше:
Запишите имя и дайте этой учетной записи права на запись в папку Umbraco, ее дочерние папки и файлы.