Silverlight WCF身份验证(从WPF到Silverlight的帮助)

时间:2009-05-19 22:23:18

标签: wcf silverlight ssl silverlight-2.0 wcf-security

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

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

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

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

1 个答案:

答案 0 :(得分:4)

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

您拥有的两个选项是: 1.如您所述,传递用户名并传递每个请求。 2.使用asp.net身份验证并在您的服务中启用asp.net兼容模式。

- 我在下面提到的N.B TransportSecurityWithMessageCredentials似乎没有为SL3做出削减所以只有选项是SL2和SL3上面的2

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

HTH