上,我从IIS7(WebAdmin的)在Windows 2008上运行塞雷尔语传统的ASP网站试图写一个服务器(web05)的文件经典ASP模拟问题。这会失败,web05会在保存操作过程中记录匿名登录尝试。IIS7的Windows 2008服务器
WebAdmin的网站在经典模式的应用程序池使用域用户的进程帐户运行。流程帐户有权“将此用户委派给任何服务(仅Kerberos)”。这同样适用于web05和webadmin服务器。
该网站使用Windows身份验证和想法是,当我登录我的域用户在网站上,我的用户权利应该定义哪些允许我在IIS站点的情况下做的。如果我打开基本身份验证,一切正常。
我也使用setspn.exe为URL添加一个SPN。如果键入SETSPN.EXE -L WebAdmin中,我得到:
HTTP/webadmin.companyname.com
TERMSRV/webadmin
TERMSRV/webadmin.companypub.local
HOST/webadmin
HOST/webadmin.companypub.local
所以从我了解的SPN的设置是否正确。
如果我在执行保存操作时在webadmin上运行processmonitor,它表示该进程确实模拟我的域用户 - 但获得“访问被拒绝”(并且正如我之前所说,web05记录了匿名登录尝试)。
任何想法是什么原因造成的?
亲切的问候, 西蒙
你完全正确的说我迷惑了假冒。所以,如果我回去开始并问自己我想做什么:我希望我的域用户通过身份验证,这样我就可以让他的传统ASP站点使用我的域用户凭据写入另一台服务器上的文件。 我在正确的轨道上跟我使用Windows身份验证完成它的方式?匿名身份验证未启用。 我想从ADODB流对象中保存文件。 FileSytemObject也失败。 – nitech 2010-02-03 14:01:32
是的,你是在正确的轨道上,如果你想在客户端用户身份下完成活动,关闭匿名访问,至少在包含你的代码的页面,并打开Windows集成安全。假设用户拥有正确的权限,代码应该可以工作。 – AnthonyWJones 2010-02-03 14:37:46
这很好。但是,我已经关闭了匿名访问并打开了Windows身份验证。我可以在站点上使用我的域用户登录 - 用户甚至可以对数据库访问进行身份验证(使用Windows身份验证的系统dsn),但即使登录用户拥有适当的权限,我也无法将文件保存在远程服务器上权利。 – nitech 2010-02-09 08:00:32