Соединение SSPI в веб-службе .Net 2.0

Я пытаюсь протестировать веб-службу .Net 2.0, которую я создал на С#. Один из наших серверов работает под управлением Windows 2000 и в настоящее время может поддерживать только .Net 2.0. Я могу протестировать его локально на своей машине, и он отлично работает, но когда я перемещаю его на целевой сервер для производства, он выдает ошибку.

Я хочу, чтобы он использовал аутентификацию Windows и определил его как таковой в web.config.

Ошибка, которую я получаю, выглядит следующим образом:

System.Data.SqlClient.SqlException: Ошибка входа для пользователя ''. Пользователь не связан с доверенным соединением SQL Server.

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

Как я могу связать имя пользователя активного каталога с сервером/местоположением, на котором работает веб-служба (я думаю, это то, что мне нужно сделать?)

В настоящее время этот сервер может подключаться к MSSQL 2005 через классический ASP и ColdFusion.


person Chris Klepeis    schedule 10.03.2009    source источник
comment
Кстати, разве я не читал недавно, что окончание расширенной поддержки Windows 2000 наступит в июле этого года?   -  person John Saunders    schedule 10.03.2009


Ответы (2)


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

Откройте compmgmt.msc и перейдите в Службы и приложения -> Информационные службы Интернета (IIS).

Здесь вы можете добавить новый пул приложений, у которого есть идентификатор. Затем вы можете связать свой сайт веб-службы с пулом приложений, щелкнув правой кнопкой мыши свой сайт -> Домашний каталог и выбрав пул приложений внизу.

Могут быть и другие вещи, которые я забыл, но я думаю, что это должно сделать это.

person Andy White    schedule 10.03.2009

Если вы размещаете в IIS, вам необходимо установить идентификатор пула приложений, в котором работает веб-приложение. Обратите внимание, что выбранному вами пользователю требуется доступ для входа в качестве службы и некоторые другие вещи. Скорее всего, вы получите сообщение «Сервер 500 недоступен», если пользователь хоть немного неправильно настроен, поэтому действуйте осторожно. Также обратите внимание, что вам необходимо полностью перезапустить пул приложений, чтобы повторить попытку!

(редактировать) - нашел свой блокнот ;-p

  • Добавьте учетную запись в группу политик «Вход в качестве службы» (Локальная политика безопасности (Локальные параметры безопасности) -> Назначение прав пользователя)
  • Добавьте учетную запись в группу пользователей «IIS_WPG» («Управление компьютером» -> «Локальные пользователи и группы»).
  • Предоставьте учетной записи разрешения «Чтение и выполнение», «Список содержимого папки» и «Чтение» для файловой структуры (Проводник -> Свойства)
  • Либо создайте новый пул приложений, либо обновите учетную запись пользователя существующего пула (Internet Information Services -> Application Pools).
  • Установить пул приложений для сайта/приложения (Internet Information Services -> Web Sites)
person Marc Gravell    schedule 10.03.2009