【发布时间】:2008-11-10 22:50:09
【问题描述】:
我最近编写了一个与 Silverlight 一起使用的 Web 服务,它使用 ASP.net 成员资格和角色。
为了验证服务中的客户端,我查看了 HTTPContext.Current.User(从 Silverlight 调用服务时有效)
但是,我一直在尝试从 asp.net 回发中调用相同的服务。但是当我逐步进入服务时,HTTPContext.Current 的用户名字符串为空。
我猜我在 web.config 文件中没有做一些事情,导致 httpContext 无法通过代理发送到我的服务?
任何想法将不胜感激。我需要能够以某种方式使用 asp.net 成员资格和角色来验证客户端,并让它在 asp.net 客户端和 silverlight 客户端上都能正常工作。
【问题讨论】:
-
您能否详细解释一下 ASP.NET 调用的来源?它与服务处于相同的上下文中吗?您是在强迫他们在使用服务之前登录网站吗?
-
他们登录网站(尽管他们无需登录也可以浏览)我在回发期间调用该服务。我可以查看使用登录用户填充的回发中的 HttpContext。但在服务端,HttpContext 是空的。
-
我不完全知道您所说的相同上下文是什么意思,如果您的意思是,该服务将托管在与应用程序不同的位置。
-
我已在服务的 web.config 中启用了 asp 兼容性。但是我在绑定中的安全模式设置为无,这可能是它没有发送凭据的问题吗?
-
他们如何从 Silveright 登录服务?你能发布两个客户经历的步骤吗?抱歉,但我仍然不完全清楚你在这里做什么。
标签: wcf silverlight web-services