调用者未通过服务进行身份验证—在站点中使用主机名并在本地调用时
本文关键字:主机 调用 站点 服务 身份验证 调用者 | 更新日期: 2023-09-27 18:10:23
在1台生产服务器上,我有一个WCF服务,格式为:
http://[host name]/[OneService.svc]
.
当客户端应用程序从同一服务器调用它时,它抛出错误:"调用者未通过服务......进行身份验证由于身份验证失败,无法满足安全令牌的请求"。
网上有很多类似的话题。然而,他们似乎都不像我的情况一样。我的是:
1,如果客户端应用程序运行在同一域内的另一台服务器上,或运行在不同域内的另一台服务器上(但这两个域是相互信任的),它工作;
2、如果客户端应用程序运行在托管WCF服务的同一服务器上,则抛出上述错误。
但是,如果我将服务URL更改为http://localhost/[OneService.svc]
,则(2)有效!
从我在1/2/3中观察到的,我猜它可能不是代码或配置问题?(服务可以配置为使用http或https)
任何建议都是赞赏的!
这不是完美的解决方案,但它确实适用于我。
我已经做了regedit(请自担风险)。
你必须在BackConnectionHostNames键中为你的域创建条目。
http://blog.blksthl.com/2013/05/07/a-quick-guide-to-configuring-the-loopback-check/还请给出确切的身份验证错误,如果这不起作用。