Ошибка входа в систему под локальным хостом IIS, но работает под Visual Studio Server - PullRequest
0 голосов
/ 27 августа 2009

Я получаю это, используя этот URL (настройка моего сайта через IIS):

http://localhost/dreamrishta/Default.aspx

Невозможно открыть базу данных "myDB", запрошенную при входе в систему. Ошибка входа Ошибка входа для пользователя 'R-2C02CDE60B8C4 \ ASPNET'.

Но когда я использую Visual Studios, встроенный в сервер: localhost: 3554 / Default.aspx

Работает нормально, не выдает никаких ошибок и правильно получает все значения базы данных. Нужно ли IIS что-то менять, чтобы это работало?

Ответы [ 4 ]

0 голосов
/ 27 августа 2009

Когда вы запускаете веб-сервер Visual Studio, процесс asp.net запускается как вы (пользователь вашей учетной записи Windows) и имеет все права, которые у вас будут. При запуске IIS asp.net запускается как специальная учетная запись (обычно пользователь NETWORK_SERVICE), и, если вы используете проверку подлинности Windows для SQL Server, вам потребуется создать SQL Server Login для этой учетной записи.

0 голосов
/ 27 августа 2009

Я предполагаю, что вы используете что-то вроде "trusted_Connection = true" или "интегрированный Security = sspi"

(встроенный) веб-сервер cassini работает под вашим процессом, поэтому веб-сервер регистрируется в базе данных как ваша учетная запись (вероятно, администратор).

При перемещении в IIS он работает под учетной записью ASPNET. Либо

  1. дать ASPNET ограниченный доступ к базе данных
  2. изменить удостоверение пула приложений на приемлемый аккаунт.
  3. используйте configure the web.config для олицетворения другого пользователя (http://support.microsoft.com/kb/306158)
  4. использовать аутентификацию SQL для доступа к БД
0 голосов
/ 27 августа 2009

Встроенный веб-сервер использует проверку подлинности Windows, и похоже, что ваша строка подключения также ожидает проверку подлинности Windows.

Установите для приложения IIS аутентификацию Windows (щелкните правой кнопкой мыши папку приложения в IIS, выберите свойства, вкладка «Безопасность каталога»). Убедитесь, что вы отключили анонимный и интегрированный проверяется.

EDIT:

Я заметил в вашем комментарии, что вы используете rackspace и можете ли вы выполнить проверку подлинности Windows.

Если вы используете хост, такой как rackspace, то аутентификация Windows может быть невозможна (скорее всего, нет). В этом случае измените строку подключения, чтобы использовать учетную запись пользователя SQL, а не проверку подлинности Windows.

0 голосов
/ 27 августа 2009

Звучит так, будто вы пытаетесь подключиться к базе данных с помощью аутентификации Windows. Попробуйте создать пользователя и пароль sql для подключения к вашей базе данных. Тогда он должен работать с использованием обоих методов.

Вот пример строки подключения. (1.2.3.4 - это IP-адрес или имя сервера Sql)

"Источник данных = 1.2.3.4 ; Исходный каталог = YourDBName ; Постоянная информация о безопасности = Ложь; ID пользователя = sqluser; Пароль = пароль "

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