首先,不确定哪个网站最适合回答这个问题,无论是 SO、SF 还是 SU,所以请随时建议迁移!
我需要限制多台机器之间的委派,以实现不同服务之间的身份模拟。
以下是不同的机器:
Machine1
- 具有 IIS 8.0 和在本地服务帐户下运行的 AppPoolLocal System
Machine2
- SQL Server 2008 R2 与 SSRS 均在本地服务帐户下运行Network Service
Machine3
- 拥有 SQL Server 2008 R2 并镜像多个数据库Machine2
我正在开发的应用程序需要能够模拟客户端身份,以便能够访问 SQL Server 后端和 Reporting Services。还需要模拟用户,以便应用程序能够将文件上传到共享网络位置。
所有机器都在同一个域下运行。
我与域管理员进行了沟通,并启用了Enable this computer for delegation to any service (kerberos only)
所有三台机器。这样做的原因是,我尝试限制对某些服务的委托,但没有成功。
我没有修改任何 SPN,因为我的理解是 SQL Sever 将自动创建完成该工作所需的 SPN。
在我的应用程序中,我在文件中指定了web.config
以下内容以启用模拟:
<authentication mode="Windows" />
<identity impersonate="true"/>
IIS 仅启用了 Windows 身份验证。
问题
当应用程序部署到 IIS 时,委派似乎根本不起作用,在尝试访问 SSRS 服务以及尝试将文件上传到网络共享时会出现身份验证问题(即 401 错误)。
问题
还有什么我遗漏了/需要检查的吗,以使委派在机器之间发挥作用,以及我需要启用哪些服务才能满足上述要求。
请注意,我已阅读了许多有关委派的问题,但并未解决我的问题。