如何在JQuery端实现WS-Security?

时间:2012-11-06 11:06:56

标签: jquery wcf soap wcf-binding wshttpbinding

我遵循了此代码项目sample使用JQuery中的wsHttpBinding公开服务部分,它写道:

  

使用“wsHttpBinding”绑定公开的服务实现了WS-Security   WS- *系列Web服务规范。由于绑定使用   安全性,请求将被拒绝。无法调用该服务   没有在JQuery端实现WS-Security。所以,为了打电话   服务方法,我们必须妥协安全。

他们正在实施一个非安全<wsHttpBinding>端点。

但我希望<wsHttpBinding> <security mode="Message"><security mode="None"> 此偏离过程不起作用并返回以下错误:

  

无法处理邮件。这很可能是因为   行动   'http://www.enghouse.com/CosmoCom/WebAdminAPIServiceLibrary/IQueue/GetAllQueues'   不正确或因为邮件包含无效或过期   安全上下文令牌或因为它们之间存在不匹配   绑定。如果服务,安全上下文令牌将无效   由于不活动而中止了频道。防止服务   中止空闲会话过早地增加接收超时   服务端点的绑定。

如果我将其更改为<security mode="Message">,则效果非常好。

所以我的问题是如何实施{{1}}? 我需要做什么?

谢谢!

1 个答案:

答案 0 :(得分:2)

Check out Ws.js。它是一个帮助实现ws-security的JavaScript库。

就个人而言,如果我必须将Web客户端与我没有源代码的现有WCF服务集成,我个人也会这样做。开销太大,无法为Web客户端维护SOAP协议和WCF安全性,而没有任何额外的好处。如果您控制此服务的源,我将使用ASP.NET Web API为Web客户端提供REST API,并使用SSL和HTTP基本安全性。