gpt4 book ai didi

wcf - 对 WAS 托管的 WCF 服务的请求是通过 IIS 处理管道进行身份验证还是......?

转载 作者:行者123 更新时间:2023-12-03 03:11:19 25 4
gpt4 key购买 nike

以下问题假设我们在 WAS 中与 Asp.Net 并行托管 WCF 服务:

"When hosting WCF side by side with Asp.Net - The WCF hosting infrastructure intercepts WCF requests when the PostAuthenticateRequest event is raised and does not return processing to the ASP.NET HTTP pipeline. Modules that are coded to intercept requests at later stages of the pipeline do not intercept WCF requests."

"With side-by-side configuration, the WCF hosting infrastructure intercepts WCF messages and routes them out of the HTTP pipeline"

a) 假设 WAS 收到对 WCF 服务的请求,是否会调用 WCF 的身份验证机制(WindowsMembershipProvider自定义 身份验证)当 PostAuthenticateRequest 事件引发时,或者 WCF 仅在将请求路由出 HTTP 管道后才会对请求进行身份验证吗?换句话说,WCF 的身份验证机制是否在 IIS 处理管道之外工作?

b) 如果 WCF 的身份验证机制在 IIS 处理管道之外工作,那么我假设 FormsAuthenticationModule 不参与 WCF 客户端的身份验证(假设服务正在使用表单例份验证)?

c) 另外,如果 WCF 的身份验证机制在 IIS 处理管道之外工作,那么我假设 IIS/WAS 必须配置为匿名身份验证,即使服务是使用 Windows 身份验证的身份验证客户端?

d) 如果 WCF 服务由 IIS7 托管(除了服务必须仅使用通过 HTTP 协议(protocol)进行通信的端点这一事实之外),我上述问题的答案是否会有所不同?

谢谢

最佳答案

我建议实现一个技术尖峰项目。

在核心,您始终可以实现代码访问属性来保护您的操作契约(Contract)。

您可以首先应用PrincipalPermission(内置),在Thread.CurrentPrincipal(wcf服务的构造函数)上设置IPrincipal当托管在 IIS 中时,您可以设置 HttpContext.Current.User 但在您的情况下 HttpContext 将为 null。要使用PrincipalPermission,您需要拥有创建/实现IPrincipal 的能力。

关于wcf - 对 WAS 托管的 WCF 服务的请求是通过 IIS 处理管道进行身份验证还是......?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6751331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com