我正在尝试使用用户凭据从 asp 经典服务器端页面发布帖子...
我正在使用 msxml2.ServerXMLHTTP 以编程方式发布帖子
我已经在 IIS 5.1 站点中尝试了几种配置,但是我无法让 IIS 使用指定的帐户运行......
我制作了一个运行 whoami 的小 asp 页面,以验证我使用的 iis 进程是什么帐户...
对于 IIS 5.1,使用集成安全性,该过程使用:
my_machine\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
是因为我正在发出一个shell命令吗?
我想对另一个具有集成安全性的站点进行 http post 调用...
所以我需要一些方法来传递凭据,或者至少使用指定的帐户运行,然后配置远程站点以推送该帐户......
我认为仅将站点设置为使用集成安全性就足够了...
我怎样才能做到这一点?
ps:使用 IIS6,情况相同,但如果我更改池配置,我会从 whoami 获得以下信息
NT AUTHORITY\网络服务
NT 当局\本地服务
NT AUTHORITY\SYSTEM
如果我设置域帐户,我会收到“服务不可用”消息...
编辑:找到这个
它说的是我所想的,“如果经过身份验证的用户提出请求,线程令牌基于用户的经过身份验证的帐户”,但不知何故我似乎不像那样工作......我可能会错过什么?
编辑:
那么 whoami 的事情显然在愚弄我,我尝试了以下功能
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 与用户凭据一起工作???