jQuery AJAX使用自定义主体调用WCF服务

时间:2010-09-01 21:12:34

标签: jquery ajax wcf rest soap

我使用webHttpBinding成功创建了一个WCF服务,没有身份验证或安全性。我可以反复调用我的函数,它会按预期返回值。

现在我创建了一个自定义IAuthorizationPolicy,UserNamePasswordValidator和IPrincipal。我回到了wsHttpBinding(默认)并在代码中执行了正常的服务引用,并适当地设置了ClientCredentials.UserName.UserName和ClientCredentials.UserName.Password,并且服务工作正常。我修改了用户名只是为了确保代码被触发,确定它失败了。

所以,我把绑定放回webHttpBinding,但现在我无法弄清楚如何通过jQuery设置这些凭据。我已尝试使用以下How can I pass windows authentication to webservice using jQuery?将“Authorization”标头设置为base64编码的字符串。无论我做什么,我总是得到错误“在授权上下文中没有指定自定义主体”。

任何人都有关于如何正确调用使用自定义主体的WCF REST服务的信息?

2 个答案:

答案 0 :(得分:1)

我试图做一些不可能的事情。我必须使用标准的HTTP身份验证方法,因为我正在使用REST Web服务,而不是wsHttpBinding webservice,它有更多的包装。我在这里找到了答案:

http://www.leastprivilege.com/FinallyUsernamesOverTransportAuthenticationInWCF.aspx

答案 1 :(得分:0)

var html = $.ajax({
  url: "some.jsp",
  username: "sdsdsdsdsd",
  passsword: "xxxxxxxx"
 }).responseText;

尝试过传递用户名和密码

http://api.jquery.com/jQuery.ajax/