我使用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服务的信息?
答案 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;
尝试过传递用户名和密码