以下问题假定我们在 WAS 中与 Asp.Net 共同托管了一个 WCF 服务:
"当将 WCF 与 Asp.Net 同时托管时——当引发 PostAuthenticateRequest 事件时,WCF 托管基础结构会拦截 WCF 请求,并且不会返回处理到 ASP.NET HTTP 管道。在代码中编写了拦截管道后期阶段请求的模块不会拦截 WCF 请求。"
"采用并行配置,WCF 托管基础结构会拦截 WCF 消息并将其路由出 HTTP 管道"
a) 假设 WAS 收到一个针对 WCF 服务的请求,当引发 PostAuthenticateRequest
事件时,WCF 的身份验证机制(Windows、MembershipProvider 或 Custom 身份验证)是否会被调用?还是说只有在 WCF 将请求路由出 HTTP 管道后才进行身份验证?换句话说,WCF 的身份验证机制是否在 IIS 处理管道之外工作?
b) 如果 WCF 的身份验证机制在 IIS 处理管道之外工作,那么我认为 FormsAuthenticationModule 不参与验证 WCF 客户端(假设服务使用表单验证),是这样吗?
c) 此外,如果 WCF 的身份验证机制在 IIS 处理管道之外工作,则我假定必须为匿名身份验证配置 IIS/WAS,即使服务正在使用 Windows 身份验证验证客户端,是这样吗?
d) 如果 WCF 服务由 IIS7 托管,那么上述问题的答案是否有所不同(除了服务必须仅使用通过 HTTP 协议通信的终结点这一事实)?
谢谢