Веб-приложение работает в VS Development Server, но не работает в IIS - PullRequest
3 голосов
/ 06 июля 2010

У меня есть приложение ASP.Net, которое использует хранимые процедуры и веб-службы SQL Server с использованием аутентификации Windows. Идея состоит в том, чтобы использовать учетные данные вошедшего в систему пользователя для вызова веб-службы (это важно, поскольку веб-служба использует учетные данные для аутентификации для назначения владельца созданной или обновленной записи) и для выполнения хранимой процедуры.

Когда я использую встроенный веб-сервер VS.Net, результат просто превосходный (возможно, потому что этот сервер запускается под текущей зарегистрированной учетной записью пользователя) SQL Server SP возвращает ожидаемые результаты (даже когда я выполняю их из Query Analyzer) Учетные данные веб-службы правильно установлены для текущего вошедшего в систему пользователя.

Однако, когда я размещаю приложение в локальном IIS, оно работает не так, как ожидалось. Хранимая процедура Sql Server возвращает набор данных EMPTY, а учетные данные веб-службы установлены пустыми.

Я использую

myService.Credentials = System.Net.CredentialsCache.DefaultCredentials

Как виртуальный каталог хоста веб-службы, так и виртуальный каталог моего приложения использует проверку подлинности Windows в службе безопасности каталогов IIS.

У кого-нибудь есть идеи ???

Ответы [ 3 ]

1 голос
/ 06 июля 2010

Ваш локальный IIS с наибольшей вероятностью запускает пул приложений, на котором размещается ваш asp.net, как пользователь сетевой службы.
Похоже, что ваше приложение asp.net неправильно использует windowsauthentification. Вы уверены, что вы правильно вошли в систему? Создайте новую пустую страницу и установите точку останова для метода Page_Onload. Там в вы идете (я думаю, что это окно приглашения) и введите this.User.Identity.Name и посмотреть, соответствует ли оно вашей учетной записи Windows

0 голосов
/ 18 июля 2010

К сожалению, я не нашел почему.Однако для решения этой проблемы я использовал олицетворение.

Относительно SP, возвращающих не какие-либо значения.Я выяснил, что я использую Views от SP и кое-что из того, как вошедшая в Windows учетная запись не имеет достаточных прав для этих Views.

0 голосов
/ 06 июля 2010

под IIS Manager. Нажмите на Веб-сайт -> Свойства и выберите Безопасность каталога. Затем анонимный доступ и контроль аутентификации, затем выберите Windows Integrated, чтобы разрешить пользователям домена Windows. Для доступа к сайту

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...