【发布时间】:2010-08-04 18:32:22
【问题描述】:
我已经编写了一个 IIS 模块(基础 IHttpModule),它在我的 WCF REST 服务之前执行一些自定义 (OpenAuth) 身份验证。
我扩展了 GenericPrincipal 来跟踪我的用户,使用 IIdentity,并设置
我的新委托人的 context.User 字段:
application.context.User = principal
但是,当我在 WCF 中收到上下文时(管道的下一步),用户显示为“默认”未经身份验证的 WindowsPrincipal(不是我设置的 GenericPrincipal)。
我在网上看到很多关于使这项工作发挥作用的资料(包括用于 serviceHostingEnvironment 的 aspNetCompatibilityEnabled="true"、使用 OperationContext 等...)但我尝试过的任何方法似乎都不起作用。
两个问题:
- 有没有办法让它工作(或者我只是在这里吠错了树)。
- 执行此操作的规范方式是什么,或者可能是处理此自定义身份验证的更“WCF”方式。
谢谢
【问题讨论】:
标签: wcf authentication module httpmodule httpcontext