2

我有一个现有的工作 WPF 应用程序,我在其中实现了我自己对后端 WCF 服务的自定义身份验证。当我从 WPF 访问此服务时,按如下方式设置 ServiceProxy:

proxy.ClientCredentials.UserName.UserName = "test";
proxy.ClientCredentials.UserName.Password = "pass";

因为我使用的是 HTTPS,所以 uid/pwd 是安全的。

在 Silverlight 2 中,代理上没有 .ClientCredentials 对象。我发现的唯一选择是将两个字符串参数添加到 Uid/Pwd 的 EVERY WCF Exposed 方法中。这对我来说听起来很疯狂,一定有更好的方法,不是吗?

4

1 回答 1

4

不幸的是,Silverlight 2 仅支持 basicHttpBinding,这意味着它不支持 ClientCredentials。

您拥有的 2 个选项是: 1. 正如您提到的传递用户名并随每个请求一起传递。2.使用asp.net身份验证并在您的服务中启用asp.net兼容模式。

-- 我在下面提到的 NB TransportSecurityWithMessageCredentials 似乎没有为 SL3 做出选择,所以对于 SL2 和 SL3,只有上面的 2 个选项

Silverlight 3 使用 TransportSecurityWithMessageCredentials 改进了这个故事,您可以在 Silverlight Web 服务团队博客上找到更多相关信息(会链接到它,但显然因为我是新用户,所以我不被允许 0

高温高压

于 2009-05-20T08:43:05.037 回答