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