![](/img/trans.png)
[英]Classic ASP using COM+ on x64 Windows Server 2008 and IIS7
[英]Classic ASP Impersonation problem on IIS7 Windows 2008 server
我试图从IIS7(webadmin)上的Windows 2008 serer上运行的经典asp站点写入服务器(web05)上的文件。 这会失败,web05会在保存操作过程中记录匿名登录尝试。
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时,它将模拟用户,处理请求的线程将在模拟用户的安全令牌下运行。 很有可能在多个线程中模拟多个不同用户的相同进程。 在启用匿名用户访问的大多数情况下,此用户是访客级别IUSR
帐户。 最有可能的是,在此用户下,您的代码正在尝试并且无法运行。
但是,如果为正在访问的资源关闭匿名或者IUSR
帐户无权访问该资源,则会返回a 401响应,并指示它将接受哪些身份验证协议。 然后,浏览器可以尝试使用当前用户凭证来认证连接,或者请求来自用户的一些凭证。
您没有准确指定尝试保存文件的方式。 值得指出的是几件事。
我遇到了同样的问题,结果发现它是对应用程序池的一个简单改动。 如果启用32位应用程序设置为FALSE,则我收到登录计算机的提示。 将此值设置为true可解决此问题。
我正在努力清理以前的问题。 这个答案不足以回答上面的问题,但我得出的结论是,提供一些洞察力比没有洞察力更好。 如果op不同意,请采取必要的行动。
这是回归 - 但我记得想在这个应用程序上运行kerberos身份验证。 问题原来是我试图在防火墙外做kerberos。 该应用程序可以在服务器主域的域和防火墙内正常工作,但无论何时来自外部的请求都会失败。
我和微软的一位爱尔兰技术人员进行了很多聊天,他教我一些使用Kerberos时的局限性。 我想使用Kerberos的原因是我不喜欢基本Windows身份验证未加密的想法。
祝你的Kerberos任务好运:-)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.