使用basicHttpBinding创建一个安全的应用程序

时间:2010-06-27 05:03:54

标签: wpf wcf authentication certificate basichttpbinding

由于面临这个问题,我今天真的很累。 我正在构建一个使用WCF服务的XBAP应用程序(WPF浏览器应用程序)。 这个应用程序需要:

  • 用户可以使用他们的用户名和密码(存​​储在我的数据库中)登录
  • 用户无需安装任何X509证书(* .pfx或* .cert ...)
  • WCF服务必须使用basicHttpBinding(以支持其他silverlight应用程序)

我尝试了很多方法,但它们不符合这些要求。 你有什么解决方案吗?提前谢谢。

1 个答案:

答案 0 :(得分:2)

basicHttpBinding - 顾名思义 - 它提供的内容非常基础。在安全方面,它尤其基本。

据我所知,你无法实现你想要做的事情。 BasicHttpBinding仅支持使用Windows凭据(不适用于具有自定义用户的Internet)或数字证书的传输安全性(使用https协议),或通过数字证书(您明确排除 - 为什么??)支持邮件安全性。

查看此CodeProject文章8 steps to enable windows authentication on WCF BasicHttpBinding或Google以获取“basicHttpBinding安全性” - 您会找到很多文章,但可能无法满足您的要求 - 您无法使用basicHttpBinding执行此操作。

默认情况下,在WCF中

更新:,您应该在每次调用时传递调用者的凭据 - 但不能作为服务方法的参数,而是通过在服务代理生成的客户端上指定客户端凭据 - 侧。类似的东西:

 myService.ClientCredentials.UserName.UserName = "username";
 myService.ClientCredentials.UserName.Password = "p@ssw0rd";