Ошибка аутентификации Web.config

Я использую SQLServer2005 и VS2008. Моя строка подключения в web.config:

add name="library" connectionString="Data source=KMT; Initial Catalog=Library;Integrated Security=SSPI"

Здесь KMT - это имя моего сервера, Library - моя база данных.

Когда я запускаю свою страницу через локальный хост VS2008, это нормально. Однако при просмотре через IIS отображается сообщение об ошибке, например «Ошибка входа пользователя в систему,« KMT /ASP.NET »». Мой режим аутентификации sqlserver - windows, и он нормально работает в web.config. Каким будет решение?

4 голоса | спросил Shahid Mahmood Adil 29 AM000000120000001831 2009, 00:38:18

6 ответов


0

один из моих друзей помог мне решить эту проблему как я выполнил SQL для добавления ASPNET в качестве логина моя БД и настройка прав доступа DA

exec sp_grantlogin N'MACHINE \ ASPNET ' exec sp_defaultdb N'MACHINE \ ASPNET ', N'Database' использовать базу данных exec sp_grantdbaccess N'MACHINE \ ASPNET ', N'ASPNET' exec sp_addrolemember N'db_owner ', N'ASPNET'

здесь MACHINE - это имя компьютера, а база данных - это имя моей базы данных. но благодаря этому пользователь ASPNET имеет всего контроль над этой БД.

ответил Shahid Mahmood Adil 31 AM00000030000000331 2009, 03:37:03
0

Использование «Интегрированной безопасности» означает вход в базу данных под именем пользователя, выполняющего процесс. Когда вы запускаете локальный веб-сервер VS, он запускается как ваш логин. Но в IIS рабочий процесс веб-сервера выполняется как предопределенная учетная запись пользователя. У вашего рабочего процесса должны быть права на ваш SQL Server и базу данных.

Проверьте свойства вашего пула приложений в IIS. Например, если вы работаете в качестве сетевой службы, зайдите в SQL и создайте нового пользователя, введите сетевую службу в качестве имени пользователя Windows и предоставьте права этого пользователя для вашей базы данных.

ответил Rex M 29 AM000000120000004631 2009, 00:44:46
0

VS2008 использует ваши учетные данные для авторизации на БД, IIS использует другую учетную запись. Убедитесь, что у учетной записи IIS достаточно разрешений.

ответил twk 29 AM000000120000005131 2009, 00:48:51
0

Если вы используете Integrated Security = SSPI, учетные данные текущего пользователя (в VS это будет ВЫ) используются для подключения к SQL Server.

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

Решения:

  • Назначьте службе IIS специального пользователя, которому разрешено подключаться к SQL

  • Используйте аутентификацию SQL Server для доступа к базе данных и сохраните имя пользователя и пароль в строке подключения

ответил devio 29 AM000000120000005131 2009, 00:51:51
0

Планировалось ли использовать системную учетную запись ASP.NET или учетную запись Windows для пользователей?

Если последнее, вам нужно олицетворение , Это работает, если SQL и IIS находятся на одной и той же машине, в противном случае это двойной переход и требуется нетривиальный объем работы для настройки делегирования.

ответил MatthewMartin 29 AM000000120000001331 2009, 00:53:13
0

Если сервер является Windows 2003, вы можете предоставить сетевой службе разрешения на доступ к SQL Server

ответил Sebastian 31 AM00000040000005131 2009, 04:03:51

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132