Интегрированная проверка подлинности Windows к SQL Server - PullRequest
2 голосов
/ 01 августа 2010

У меня есть приложение, которое использует базу данных на SQL Server, и я хочу, чтобы пользователи подключались к этому серверу с помощью встроенной аутентификации Windows.Строка подключения:

SqlConnection scn = new SqlConnection("Data Source='server name';Initial Catalog=temp;Trusted_Connection=true;Integrated Security=SSPI");

Когда я запускаю приложение с моего компьютера, оно работает нормально и распознает мое имя пользователя.Но когда я запускаю его с сервера, он выдает мне следующую ошибку:

Ошибка входа в систему для пользователя 'домен \ имя сервера $'.

Как я понимаюне распознает имя пользователя и думает, что имя пользователя - это имя сервера.

Есть идеи, как это исправить?

Ответы [ 2 ]

3 голосов
/ 01 августа 2010

Приложение правильно подключается как учетная запись компьютера сервера.Процессы, работающие как LocalSystem или Network Service, проходят проверку подлинности по сети как компьютер, domain\machine$, это специально, преднамеренно и желательно.

Вы можете предоставить domain\server$ права входа в SQL по мере необходимости.,Или вы можете изменить приложение для запуска под другой учетной записью (я полагаю, приложение является службой?).

0 голосов
/ 01 августа 2010

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

...