Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 MSXML2.ServerXMLHttp + Integrated Securety  [new]
goodes
Member

Откуда: Тольятти
Сообщений: 19
Добрый день.
Стоит задача из SQL запроса обратится по url адресу используя доменную авторизацию.
Declare @UserName nvarchar(200) = 'mydomen\rmsurvey_test'
 EXECUTE AS User = @UserName
Declare @sURL nvarchar(200) = 'http://rm-survey-test.mydomen.ru/sendmailrm.asmx/SendmailRating'
Declare @obj int
Declare @response nvarchar(4000), @OLEResult int, @FileID int, @Err varchar(255), @description varchar(255)
	EXEC sp_OACreate 'MSXML2.ServerXMLHttp', @obj OUT
	EXEC sp_OAMethod @obj, 'Open', NULL, 'Get', @sUrl, false 
	
	Exec sp_OAGetErrorInfo @obj, @Err OUTPUT , @description OUTPUT
	EXEC sp_OAMethod @obj, 'send'
	EXEC sp_OAGetProperty @obj, 'responseText', @response OUT

	Select @response [response], @obj, @Err, @description
	EXEC sp_OADestroy @obj

Скрипт запускается от пользователя mydomen\rmsurvey_test который имеет доступ к этому сайту.
В профайлере это точно отловил, но в логах IIS не пишет логин кто обратился, то есть запрос был анонимный. В IIS на веб сайт включена только доменная авторизация.
Когда указываешь логин с паролем то все отрабатывает:
EXEC sp_OAMethod @obj, 'Open', NULL, 'Get', @sUrl, false, 'mydomen\rmsurvey_test', 'pass'

Но необходимо чтобы авторизация была так сказать сквозная. Какой параметр необходимо прописать у sp_OAMethod что бы так заработало.
19 фев 15, 14:29    [17287572]     Ответить | Цитировать Сообщить модератору
 Re: MSXML2.ServerXMLHttp + Integrated Securety  [new]
Glory
Member

Откуда:
Сообщений: 104751
goodes
Скрипт запускается от пользователя mydomen\rmsurvey_test который имеет доступ к этому сайту.
В профайлере это точно отловил

Логин MSSQL, который запускает код внутри MSSQL, не имеет отношения к учетной записи, которая будет обращаться к внешним ресурсам. Для этого MSSQL использует ту учетноую запись, под которой запущена его служба
19 фев 15, 16:03    [17288272]     Ответить | Цитировать Сообщить модератору
 Re: MSXML2.ServerXMLHttp + Integrated Securety  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8805
автор
по url адресу используя доменную авторизацию

Бессмыслица, авторизацию требует прокси сервер, его можно настроить так, чтобы он авторизовал по Active Directory учетке, например. URL ничего никогда не требует.
Настройки доступа через прокси определяются параметрами Windows (доступны в IE) сервера. Все обращения такого рода выполняются из-под серверной учетной записи.

Вообще-то сервер не должен обращаться к каким-то URL. Для этого пишут отдельное приложение.
19 фев 15, 16:34    [17288565]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить