Страница приложения ASP.NET не работает на клиентских компьютерах - PullRequest
0 голосов
/ 28 января 2010

мы разработали приложение ASP.NET, которое отлично работает на нашем сервере разработки и на наших сетевых компьютерах. Но в производственной среде приложение работает при обращении к нему напрямую с веб-сервера, но не с клиентов (код не выполняется).

Любые намеки?

TY

Каркас 3,5

Ответы [ 5 ]

1 голос
/ 28 января 2010

приложение работает при обращении к нему напрямую с веб-сервера, но не на клиентах (код не выполняется).

Звучит как проблема с разрешениями безопасности.

Проверьте, где установлен веб-сайт. C: \ inetpub \ wwwroot по умолчанию имеет соответствующие права на выполнение. По соображениям безопасности многие корпорации предпочитают устанавливать политику, согласно которой веб-сайты должны быть установлены в других местах [1]. При настройке веб-сайтов вне папки по умолчанию добавьте разрешения «Чтение и выполнение», «Чтение» и «Содержимое папки списка» для учетных записей IIS_WPG, IWAM_server_name, IUSR_server_name и ASPNET. Иногда необходимо добавить NETWORK SERVICE в коллекцию.

Когда вы работаете локально, вошли в систему, приложение работает с учетными данными вошедшего в систему пользователя. При удаленном обращении к веб-сайту приложение пытается запустить учетную запись, отображаемую в диалоговом окне «Аутентификации» (в диспетчере IIS щелкните правой кнопкой мыши веб-сайт / приложение, затем выберите свойства, затем вкладку «Безопасность каталога», затем нажмите «изменить» в «аутентификации» и контроль доступа "бит. Обычно" активируется анонимный доступ ", а" имя пользователя "- IUSR_server_name.

Примечания:
1 - так что, когда какой-нибудь хакер загружает вредоносный код в C: \ inetpub \ wwwroot, код ничего не делает, потому что веб-сайтов там нет.

1 голос
/ 28 января 2010

Вот список вопросов, которые могут помочь сузить суть проблемы:

Проверяли ли вы, используя Fiddler или другие сетевые инструменты, чтобы убедиться, что запрос отправляется на сервер при нажатии кнопки на компьютере клиента?

Вы уверены, что здесь нет проблем с брандмауэром или JavaScript? Я думаю, что если клиент использует NoScript, это может вызвать проблему.

Используется ли один и тот же браузер на сервере и на клиентских компьютерах?

Есть ли что-нибудь необычное в кнопке на странице, например, такое обратный вызов AJAX?

1 голос
/ 28 января 2010

хм, "статический веб-сайт" + нажатие кнопки = без кода + гиперссылки

проверьте пути гиперссылки, как [Вим Холлебрандс] упомянул UNC !!

1 голос
/ 28 января 2010

правильно ли настроено приложение в диспетчере iis? Приложение должно быть создано, а .net Framework должен быть включен и настроен на правильную версию.

1 голос
/ 28 января 2010

Это не имеет никакого смысла. Пожалуйста, не говорите мне, что ваши клиенты заходят на ваш сайт по сетевому пути / общему ресурсу UNC вместо HTTP ...

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

...