确保只有经过授权的应用程序才能访问网络服务

问题描述:

我在具有iis的Windows服务器上安装了c#.net wcf网络服务。我需要知道是否有办法告诉Web服务它只能接受来自特定URL的请求。 例如: ApplicationA致电ApplicationAwebService =应努力 ApplicationB调用ApplicationAwebService =应拒绝确保只有经过授权的应用程序才能访问网络服务

现在,他们都在同一台服务器上,但我需要即使它们是在不同的服务器上(3TIER一个可行的解决方案应用程序)。 感谢

+0

你怎么会知道哪个应用程序调用Web服务?通过客户端IP地址也许? –

如果您正在使用WCF那么它可能使用服务和客户端之间的相互验证。相互身份验证不仅可以实现服务器接受来自合法客户端的连接的安全性,还可以让客户端验证他们正在与合法服务器交谈。

通过使用证书,Kerberos(Windows身份验证),令牌和用户名/密码配置,可以通过消息安全性(加密客户端和服务器之间发送的数据,反之亦然)实现相互验证。

相互认证也可以在WCF通过基于角色的身份验证,身份来实现,而资源型认证从MSDN

参考:https://msdn.microsoft.com/en-us/library/ff647503.aspx

+0

阅读信息后,我仍然不确定这是我在找什么。我需要webserviceA只允许ApplicationA和不是applicationB之间的通信。当他们在同一台服务器上时,一切都已经是Windows身份验证,因此他们拥有全部访问权限。所以ApplicationB可以尝试调用webserviceA,我需要拒绝这个访问。如果它可以是一个选项,我可以使用允许的应用程序的URL。 –

+0

如果您正在运行IIS,请检查http://*.com/questions/1075618/limit-access-of-asmx-web-service-to-specific-ip-addresses – uzr