我编写了一个使用基础Http绑定与WCF服务通信的Silverlight 2应用程序。托管Silverlight内容的站点使用ASP.NET会员提供程序进行保护。我可以使用HttpContext.Current.User.Identity.Name从我的WCF服务访问当前用户,并且已经启用了AspNetCompatibilityRequirementsMode。
现在,我想编写一个使用完全相同的Web服务的Windows应用程序。为了处理身份验证,我启用了身份验证服务,并可以调用“login”来验证我的用户......好的,一切顺利......但是我该如何在其他服务客户端上设置认证cookie?!
两个服务都托管在同一个域上:
- MyDataService.svc <- 处理我的数据
- AuthenticationService.svc <- Windows应用程序必须调用的服务以进行身份验证。
我不想为Windows客户端创建新的服务,也不想使用其他绑定......
客户端应用程序服务是另一种选择,但是所有示例都限于显示如何获取用户、角色和其配置文件......但是一旦我们使用客户端应用程序服务进行身份验证,就应该有一种方法将认证cookie附加到在返回到同一服务器时调用的服务客户端上。
根据同事们的建议,解决方案是添加wsHttpBinding端点,但我希望可以避免这样做......