Запрещенная ошибка при обратной передаче

Мое приложение отображает следующую ошибку при обратной передаче на странице:

Запрещено: у вас нет прав доступа к папке / folder / teste.aspx на этом сервере.

Я могу получить доступ к страницам нормально, проблема в том, когда происходит обратная передача. Например, когда происходит выборочный индекс или нажата кнопка, появляется эта ошибка. Но когда навигация осуществляется по гиперссылкам, ошибка не возникает.

Эта проблема появляется только при доступе к приложению через Интернет. Анонимный доступ уже был включен. Я использую IIS6 и Windows Server 2003.

1 ответ

Решение

Это проблема с разрешениями. Вам нужно сделать две вещи: 1) обновить Web.config вашего проекта для олицетворения, и 2) обновить разрешения папки, чтобы разрешить доступ на чтение / запись к учетной записи IUSR на вашем компьютере. Вот подробности:

Сначала добавьте это в ваш Web.config в узле system.web:

<identity impersonate="true"/>
  1. Теперь перейдите в корневую папку вашего веб-сайта в проводнике Windows, щелкните его правой кнопкой мыши и выберите "Свойства".

  2. Затем перейдите на вкладку Безопасность. Нажмите кнопку "Изменить..." рядом с текстом с надписью "Чтобы изменить разрешения, нажмите" Изменить ".

  3. Вы увидите список групп или имен пользователей. Под этим полем нажмите "Добавить..."

  4. В следующем окне "Выбор пользователей или групп" нажмите кнопку "Дополнительно" в левом нижнем углу.

  5. Нажмите кнопку "Найти сейчас" справа. В результатах поиска найдите учетную запись IUSR_MachineName (где имя машины - это имя вашего компьютера). Выберите его, щелкнув левой кнопкой мыши, а затем нажмите "ОК"

  6. Нажмите "ОК" в окне "Выбор пользователей или групп"

  7. В списке групп или имен пользователей найдите только что добавленную учетную запись IUSR и убедитесь, что в нижней части поля "Изменить", "Читать / Выполнить", "Список содержимого папки" и "Читать" отмечены как "Разрешить". Примечание: вам не нужно использовать Modify, но если у вас есть какой-либо код, который записывает в файловую систему, вам нужно будет проверить его.

Дайте этому шанс.

Ради информации, причина, по которой он работает с локального хоста, но не с удаленного, заключается в том, что рабочий процесс идентифицирует вас как аутентифицированного пользователя. Приведенные выше инструкции заставляют IIS использовать "гостевую учетную запись Интернета", а затем вы вручную даете разрешения, необходимые для этой учетной записи.

И последнее замечание: если у вас все еще есть проблема, вы можете попытаться предоставить такой же доступ (используя описанные выше шаги) к учетным записям "Сеть" и "Сетевая служба". Я не думаю, что они имеют значение (я уверен, что они были для Vista, но я могу ошибаться), но на всякий случай.

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