【发布时间】:2012-06-28 22:11:21
【问题描述】:
我的网络应用程序具有以下设置..
- 在 IIS7 上托管的 WCF 应用程序
- 基本 HTTP 绑定 - SecurityMode = TransportCredentialOnly 和 ClientCredentialType = Windows。
- .Net 4.0
- 该应用使用“ApplicationPoolIdentity”在 .Net 4.0 应用程序池中运行。
- IIS 使用“应用程序直通”身份验证连接到文件系统。
- 客户端和服务都在 IIS 下运行 - 即客户端是网站,服务是 IIS 托管的 WCF 服务。
我想了解的是,在身份验证和使用服务的各个阶段使用了哪些用户帐户。
我了解 ApplicationPoolIdentity 是为每个创建的应用程序池生成的内置 Windows 帐户 - 这是 w3wp.exe 将为网站运行的帐户吗?
在客户端和服务器之间没有指定凭据 - 这是最有趣的一点。当我的客户端连接到我的 WCF 应用程序时,使用什么身份对服务进行身份验证。我假设应用程序池托管客户端网站的应用程序池标识?
如果是这样,那么如果两个站点使用两个不同的应用程序池会怎样?
或者该服务是否只需要机器(或域)上的有效帐户并且足以进行身份验证?
如果我将应用程序池更改为使用特定的用户帐户,这会改变什么吗?我再次假设只要客户端通过有效的机器帐户就可以了吗?
还有,,,
文件系统使用什么身份?
“ApplicationPoolIdentity”对机器和文件系统有什么权限。
最后,在 SQL Server 集成安全性的情况下,如果我的服务与 SQL Server 数据库通信,则将什么身份传递给 SQL Server。
提前致谢。
【问题讨论】:
标签: wcf iis windows-server-2008 application-pool