Как пройти аутентификацию в базе данных SQL Server в домене с виртуальной машины вне домена?

Я поддерживаю веб-приложение .NET 4.0 (Visual Studio 2010), которое аутентифицируется в базе данных SQL Server 2008, которая находится в моей рабочей интрасети. Приложение выполняет проверку подлинности в базе данных с помощью проверки подлинности windows. Это все прекрасно и Денди, если Im развивается на моем Хосте, но я разрабатываю на виртуальной машине, которая не находится в рабочем домене. Таким образом, когда проект строится и запускается, он выдает SqlClient.Sqlexception в

"ошибка входа. Логин от принадлежит недоверенному домену и не может использоваться проверка подлинности Windows."

за исключением разработки на моем Хосте и отказа от виртуальной машины, что я могу сделать, чтобы избежать этой ошибки и успешно аутентифицироваться в базе данных, чтобы я мог создавать/запускать веб-приложение? Я готов хранить свои учетные данные где-то локально, хотя предпочтительно не где-то, что было бы под контролем источника TFS (например, в интернете.config), потому что я не мог сохранить файл, так как есть другие разработчики на проект.

Я попытался запустить Visual Studio как другой пользователь (как пользователь в моем рабочем домене), но я получаю ошибку "неизвестное имя пользователя или неверный пароль".

внимание, добавление виртуальной машины в домен (или подключении к нему через VPN) не нужным. Виртуальная машина должна оставаться вне домена. Также обратите внимание, что виртуальная машина запущена на компьютере, который находится в домене, и виртуальная машина использует общее подключение. Таким образом, он может получить доступ к интрасети, но не может выполнять windows проверка подлинности на SQL Server.

3 ответов


вы можете запустить Visual Studio (или SQL Server Management Studio) в качестве пользователя домена. Хитрость в том, что вы должны использовать опцию "/netonly" инструмента "runas" Windows, чтобы вы могли работать как пользователь домена на машине без домена.

а именно, в командной строке вы запускаете эту команду (заполняя свои собственные критерии):

runas /netonly /user:<Domain>\<User_Name> "<Your_Program.exe>"

кроме того, вы можете создать ярлык на рабочем столе, и настроить эту команду в контекстном цели. При запуске ярлык / команда, вы вводите свои учетные данные при появлении запроса, и visual studio (или любая другая программа) будет работать как пользователь домена.


Присоединяйтесь к домену, используя vpn-соединение, если это возможно. Vpn может подключить вас с определенными учетными данными домена. Альтернативой может быть подключение с использованием проверки подлинности SQL Server, если SQL Server настроен со смешанной проверкой подлинности.


насколько я понимаю, у вас есть несколько вариантов:

  1. вы можете добавить учетную запись пользователя в SQL db, чтобы разрешить аутентификацию паролем
  2. пусть VM присоединится к домену
  3. создайте SSH-туннель для порта хоста SQL server