У меня настроено 3 виртуальных машины:
- (A) Active Directory в Windows 2008 R2.
- (B) Microsoft SQL Server 2008 Express в Windows XP SP3.
- (C) IIS в Windows XP с пакетом обновления 3 (SP3).
Сервер SQL и IIS объединены в домене, а хост-компьютер - нет.Я также создал администратора домена с правами администратора в SQL Server.Я могу пинговать / получать доступ ко всем виртуальным машинам друг от друга и с ПК, на котором размещены виртуальные машины.Я могу без проблем подключиться к виртуальной машине SQL Server, используя проверку подлинности Windows в SQL Server Management Studio внутри виртуальной машины IIS.
Я создал очень простое приложение в приложении ASP.Net, размещенное на виртуальной машине IIS, которое открывает базу данных.соединение в виртуальной машине SQL Server.Я настроил веб-сайт для проверки подлинности через Windows Authentication only .Вот моя строка подключения:
Server=DATABASE;Database=HAP;Trusted_Connection=True;
Вот код:
SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
using(connection) {
connection.Open();
}
Я также установил " Доверяйте этот компьютер для делегирования любой службе (только Kerberos)"в AD для виртуальной машины IIS.
Выдает " Ошибка входа в систему. Вход в систему из ненадежного домена и не может использоваться с аутентификацией Windows. Исключение".Если я изменю строку подключения на это:
Server=DATABASE;Database=HAP;User ID=sa;Password=connectsql;
, приложение работает нормально.
Мне действительно нужно, чтобы оно проходило аутентификацию через Аутентификация Windows и , а не через проверку подлинности SQL Server.
Примечание: IIS запрашивает у пользователя учетные данные Windows.