Я пытаюсь опубликовать сообщение с боковой страницы классического сервера asp, используя учетные данные пользователя...
Я использую msxml2.ServerXMLHTTP для программного создания сообщения
Я пробовал несколько конфигураций на сайте IIS 5.1, но никак не могу заставить IIS работать с указанной учетной записью...
Я сделал небольшую страницу asp, которая запускает whoami, чтобы проверить, какую учетную запись использует процесс iis...
с IIS 5.1, используя интегрированную безопасность, процесс использует:
моя_машина\IWAM_my_machine
Я отключаю встроенную безопасность и оставляю учетную запись домена в качестве анонимного доступа, и я получаю то же самое (¿?)
чтобы проверить пользователя, я делаю следующее
private function whoami()
dim shell, cmd
set shell = createObject("wscript.shell")
set cmd = shell.exec( server.mapPath( "whoami.exe" ) )
whoami = cmd.stdOut.readAll()
set shell = nothing: set cmd = nothing
end function
это потому, что я запускаю команду оболочки?
Я хотел бы сделать HTTP-вызовы на другой сайт, который работает со встроенной безопасностью...
Поэтому мне нужен какой-то способ передать учетные данные или, по крайней мере, запустить с указанной учетной записью, а затем настроить удаленный сайт для передачи этой учетной записи...
Я думал, что достаточно будет просто настроить сайт на работу со встроенной защитой...
Как я могу добиться такого?
PS: с IIS6 происходит то же самое, но если я изменю конфигурацию пула, я получу следующую информацию от whoami
NT AUTHORITY\NETWORK SERVICE
NT AUTHORITY\LOCAL SERVICE
ПОЛНОМОЧИЯ NT\СИСТЕМА
если я устанавливаю учетную запись домена, я получаю сообщение "сервис недоступен"...
редактировать: нашел это
он говорит то, что я предположил: «Если аутентифицированный пользователь делает запрос, токен потока основан на аутентифицированной учетной записи пользователя», но почему-то я так не работаю... что я мог упустить?
редактировать:
Ну, эта штука, очевидно, меня обманывает, я попробовал следующую функцию
private function whoami_db( serverName, dbName )
dim conn, data
set conn = server.createObject("adodb.connection")
conn.open "Provider=SQLOLEDB.1;Integrated Security=SSPI;" & _
"Initial Catalog=" & dbName & ";Data Source=" & serverName
set data = conn.execute( "select suser_sname() as user_name" )
whoami_db = data("user_name")
data.close: conn.close
set data = nothing: set conn = nothing
end function
и вроде все нормально работало...
но как заставить msxml2.ServerXMLHTTP работать с учетными данными пользователя???