2017-02-21 37 views
0

我在具有iis的Windows服務器上安裝了c#.net wcf網絡服務。我需要知道是否有辦法告訴Web服務它只能接受來自特定URL的請求。 例如: ApplicationA致電ApplicationAwebService =應努力 ApplicationB調用ApplicationAwebService =應拒絕確保只有經過授權的應用程序才能訪問網絡服務

現在,他們都在同一臺服務器上,但我需要即使它們是在不同的服務器上(3TIER一個可行的解決方案應用程序)。 感謝

+0

你怎麼會知道哪個應用程序調用Web服務?通過客戶端IP地址也許? –

回答

1

如果您正在使用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://stackoverflow.com/questions/1075618/limit-access-of-asmx-web-service-to-specific-ip-addresses – uzr

相關問題