Не удалось войти в ASP.NET для пользователя 'NT AUTHORITY \ NETWORK SERVICE' - PullRequest
5 голосов
/ 11 марта 2010

Я пытаюсь опубликовать сайт asp.net на удаленном сервере. Когда мой код пытается подключиться к базе данных, я получаю сообщение об ошибке, описанное в заголовке вопроса. Теперь я вошел в Microsoft SQL Server Management Studio для SSE 2008 и вижу список имен для входа. NT AUTHORITY \ NETWORK SERVICE есть, но я не уверен, какие настройки мне нужно изменить, чтобы дать этому пользователю доступ к базе данных. Я попытался использовать олицетворение в своем файле web.config, используя учетные данные для входа в систему Windows для сервера, но это просто вызывает то же сообщение об ошибке с моим именем пользователя Windows вместо NETWORK SERVICE.

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

connectionString = "Источник данных = MECHTRONICRND \ SQLEXPRESS; Начальный каталог = 'C: \ Inetpub \ aspnettest \ App_Data \ FLEETMANAGERDB.MDF'; Интегрированная безопасность = True"

Есть идеи?

Спасибо

- Амр

Ответы [ 2 ]

9 голосов
/ 12 марта 2010

Спасибо за ваши ответы. Посмотрев этот учебник , я узнал, как разрешить пользователям доступ к базе данных. После того, как я разрешил NETWORK SERVICE доступ на чтение и запись к базе данных, мой веб-сайт работал нормально с исходной строкой подключения.

- Амр

1 голос
/ 11 марта 2010

Строка подключения должна быть:

"Data Source=MECHTRONICRND\SQLEXPRESS;Initial Catalog=FLEETMANAGERDB;Integrated Security=True"

Кроме того, при попытке подключения к базе данных используется учетная запись, используемая веб-сервером. Вы можете запустить веб-службу (настроить IIS соответствующим образом) в качестве пользователя домена, а затем создать учетную запись и пользователя базы данных для этой учетной записи. В противном случае вам придется создать пользователя базы данных (в FleetManagerDB) для учетной записи сетевой службы, что не рекомендуется. Или себя, если вы выдаете себя за себя.

...