【发布时间】:2013-05-03 01:12:35
【问题描述】:
我正在开发一个使用 IIS 7 并尝试在远程计算机上创建 COM 服务器的网站。流程是:
IIS_7_Computer -> Perl 脚本 1 -> Perl 脚本 2 -> Win32::OLE ---DCOM---> 目标机器上的 COM 对象
我使用的帐户是“Administrator@IIS_7_Computer”。此管理员与目标计算机“管理员”的密码相同
我为站点启用了“Windows 身份验证”,只有提供者是“NTLM”。
如果我在以 Administrator@IIS_7_Computer 身份登录时从命令行启动 perl 脚本 1,则会启动每个脚本 2 并成功创建对象。
但是,如果我浏览该网站,以 Administrator@IIS_7_Computer 身份登录,我会不断收到“访问被拒绝”消息。
有什么想法吗?
提前致谢, -尼尔。
【问题讨论】:
-
通过打印
Win32::LoginName验证网页是否正在运行该用户。您可以在应用程序池部分配置 IIS 用户。 -
@Andomar:我已经打印了 LoginName 并且在命令行上运行或在网页中运行时,它都在 perl 脚本 1 或 2 中打印“管理员”。
-
老实说,DCOM 完全搞砸了,自 1996 年以来一直如此。您可能需要付出很多努力才能让它工作。看看您是否可以使用 HTTP 等更好的协议与远程服务器通信。