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