О › Ошибка входа для пользователя '(null)'. Причина: не связано с доверенным соединением SQL Server.

У меня есть страница aspx на С# под .net 4.0, разработанная в VS2010 на моей рабочей станции, которая находится в домене под названием «DOMDEV», пытающемся получить доступ к MS-SQL Server 2000 DE на автономном W2K3 Std Edition SP2. Мои учетные данные домена

пользователь: DOMDEV\MyName pwd: p@ssword

Безопасность MS-SQL Server 2K DE настроена на режим аутентификации Windows и НЕ МОЖЕТ быть изменена на смешанный режим из-за правил компании.

Моя строка подключения выглядит следующим образом в файле web.config aspx: Data Source=standAlone.myCompany.com\SQL01;Initial Catalog=db_001;Integrated Security=SSPI;

Когда я нажимаю Ctrl-F5 в VS2010 на своей рабочей станции, страница выполняется хорошо и получает все данные с автономного сервера.

Когда я опубликовал страницу на Window Server 2K8 Enterprise и попытался запросить страницу через свой IE 9, я получил следующую ошибку: Ошибка входа для пользователя '(null)'. Причина: Не связано с доверенным соединением SQL Server.

Почему на моем сете работает ничего не устанавливая, а на W2K8 нет? Чем информация о безопасности, отправленная из моего VS IIS, отличается от IIS7 W2K8? На веб-сайте W2K8 IIS7 включена проверка подлинности Windows. Включена анонимная проверка подлинности: Идентификация пула приложений

Как/что я могу сделать, чтобы настроить W2K8, чтобы IIS 7 работал так же, как IIS на моем устройстве?

Спасибо.


person Henry Chang    schedule 12.04.2012    source источник


Ответы (2)


Я поэкспериментировал с настройкой IIS 7 и обнаружил, что следующая конфигурация работает хорошо.

Часть I. Создание локального пользователя на сервере базы данных

  1. откройте «Пуск» > «Администрирование» > «Управление компьютером».
  2. expend Управление компьютером (локальное) > Локальные пользователи и группы > Пользователи
  3. добавьте нового пользователя с именем, которое вам нравится (например, yourNewUser; pwd: 987poi!@)
  4. добавить нового пользователя в локальную (ВСТРОЕННУЮ) группу администраторов
  5. ничего не нужно устанавливать в БД, для которой установлен режим проверки подлинности Windows

Часть II: Создание локального пользователя на веб-сервере

  1. откройте «Пуск» > «Администрирование» > «Диспетчер серверов».
  2. расширьте левую навигацию Диспетчер серверов (yourServerName) > Конфигурация > Локальные пользователи и группы > Пользователи
  3. добавить нового пользователя с идентичной информацией, которую вы только что сделали на сервере базы данных
  4. никаких дополнительных настроек/разрешений/групп не требуется (минимальные права). По умолчанию он находится только в разделе «Пользователи».

Часть III. Добавление разрешения для временной папки .NET

  1. 32-разрядная версия: перейдите в папку X:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files, убедитесь, что у нового пользователя есть разрешение на запись в папку
  2. 64-разрядная версия: перейдите в папку X:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files, убедитесь, что у нового пользователя есть разрешение на запись в папку

Часть IV. Вариант 1. Настройка веб-сервера

  1. откройте «Пуск» > «Администрирование» > «Диспетчер серверов».
  2. развернуть левую навигационную панель Диспетчер серверов (yourServerName) > Роли > Веб-сервер (IIS) > Диспетчер информационных служб Интернета (IIS)
  3. в навигации (посередине слева) диспетчера информационных служб Интернета (IIS) щелкните свое веб-приложение
  4. в разделе IIS дважды щелкните значок «Аутентификация»
  5. на панели Authenticaiton есть 6 настроек. Нажав на название настроек, вы сможете включать/отключать/редактировать их на панели действий справа. Установите их следующим образом:

    • Anonymous Authentication - Enabled - Application Pool Identity
    • Олицетворение ASP.NET — включено — конкретный пользователь: yourNewUser (987poi!@)
    • Отключите остальные
  6. каждый раз, когда вы публикуете веб-приложение, вам нужно будет дважды проверять, сохраняется ли настройка.

Часть IV. Вариант 2. Настройка файла web.config

  1. перейдите к файлу web.config веб-приложения, которое вы публикуете, убедитесь, что в вашем блоке system.web есть следующая строка

    ‹ identity impersonate="true" password="987poi!@" userName="yourNewUser" />

  2. эта опция не работает на IIS локальной рабочей станции (по крайней мере, на моей).

Теперь запросите с рабочей станции пользователя, и на странице появятся необходимые данные.

Это решение также работает на Windows Server 2003 с IIS6 и .net4

person Henry Chang    schedule 13.04.2012

я боролся с этой ошибкой .. наконец я нашел решение ... теперь все работает нормально ..

попробуйте выполнить следующие шаги..

Установите гостевую учетную запись, «включенную» на серверном компьютере. Добавьте новый логин «servername\guest» в разделе «Безопасность»> «Логины на сервере Sql». Добавьте этот логин в базы данных, соответственно. Дайте необходимые разрешения.

С уважением

Харрис П. Наир

person harris p nair    schedule 24.04.2013