代码之家  ›  专栏  ›  技术社区  ›  Nate CSS Guy

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

  •  2
  • Nate CSS Guy  · 技术社区  · 16 年前

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

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

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

    在Silverlight2中,代理服务器上没有.ClientCredentials对象。我找到的唯一选项是为uid/pwd的每个wcf公开方法添加两个字符串参数。我听上去很疯狂,一定有更好的方法,不是吗?

    1 回复  |  直到 15 年前
        1
  •  4
  •   Andy Britcliffe    15 年前

    不幸的是,Silverlight2只支持basichttpbinding,这意味着它不支持clientcredentials。

    您有两种选择: 1。正如您提到的,传递用户名并传递每个请求。 2。在服务中使用ASP.NET身份验证并启用ASP.NET兼容模式。

    --我在下面提到的带有消息凭证的N.B TransportSecurity似乎不适合SL3,所以SL2和SL3只能选择上面的2个选项。

    Silverlight 3通过TransportSecurityWithMessageCredentials对此进行了改进,您可以在Silverlight Web服务团队博客上了解更多有关此方面的信息(将链接到它,但显然,由于我是新用户,因此我不被允许0

    高温高压