【发布时间】:2011-08-18 03:45:12
【问题描述】:
我的服务器端包含 WCF4 REST 服务,我将为我未来的 SL4 应用程序添加 RIA 服务。目前我正在做这样的基本身份验证:
var auth = HttpContext.Current.Request.Headers.GetValues("Authorization");
等等..你明白了..我在每次请求时都会调用它。如果标题不存在或我无法验证 UN/Password - 我这样做:
outgoingResponse.Headers.Add("WWW-Authenticate: Basic realm=\"Secure Area\"");
到目前为止,这让我受益匪浅,但我正在重构我的服务器端。为链接服务实施 IoC。创建了自定义 ServiceHost、ServiceHostFactory、InstanceProvider,一切都很好。
现在我需要弄清楚如何使用 WCF 正确处理身份验证和授权,因此我不必手动检查标头。我确实有我的自定义 MembershipProvider 所以必须有一些方法来处理 UN/PW。
有什么建议吗?我查看了http://www.codeproject.com/KB/WCF/BasicAuthWCFRest.aspx,但它使用 RequestInterceptor 并且在 WCF4 中不可用。我找到了 ServiceAuthenticationManager 和 ServiceAuthorizationManager,但是没有关于如何编码和连接它们的示例。
谁能建议我应该走哪条路?
【问题讨论】:
标签: wcf authentication wcf-ria-services wcf-4