我的服务器端包含 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 但没有关于如何编码和连接它们的示例。
有人可以建议我应该走哪条路吗?