这与 this question 有关
我在自定义服务主机中托管此 WCF 服务。 IIS 不是一个选项。
有没有办法在请求过程的早期在服务器堆栈中注入(inject) HTTP“Authenticate” header (如果缺少) - 以便可以将默认用户传递到身份验证/我有针对匿名请求的授权流程吗?
我需要服务器将其注入(inject)接收端 - 在进一步 WCF 处理之前...
我很确定我可以使用自定义 BindingElement 或扩展 WebHttpBinding 来完成此操作,但任何示例或指导将不胜感激。我在 WCF 中找不到任何早期 header 操作(预身份验证)的示例。
最佳答案
通过实现 IDispatchMessageInspector,您可以插入管道服务器端;并操纵消息。
在 AfterReceiveRequest 方法中,您可以非常愉快地添加到 Request.Headers 中。
用行为属性包装它并将其应用到您的服务。
关于.net - 在 HttpBinding 中进行 HTTP 身份验证之前操作 WCF 中的 HTTP header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/213259/