0
我有一個WCF實現的Web服務。這項服務只會由一個客戶端(一個擁有靜態IP地址的站點)調用。我希望實現簡單的安全性,以驗證所有對該服務的調用只有在來自此特定靜態IP時纔有效。WCF安全 - 數據來源安全
這樣做的最好方法是什麼?
我有一個WCF實現的Web服務。這項服務只會由一個客戶端(一個擁有靜態IP地址的站點)調用。我希望實現簡單的安全性,以驗證所有對該服務的調用只有在來自此特定靜態IP時纔有效。WCF安全 - 數據來源安全
這樣做的最好方法是什麼?
在.NET 3.5中,你可以做到這一點在你的服務代碼,找出調用者的IP地址:
public void YourServiceMethod(string value)
{
OperationContext context = OperationContext.Current;
MessageProperties messageProperties = context.IncomingMessageProperties;
RemoteEndpointMessageProperty endpointProperty =
messageProperties[RemoteEndpointMessageProperty.Name]
as RemoteEndpointMessageProperty;
string clientIPAddress = endpointProperty.Address;
int clientPort = endpointProperty.Port;
}
原本出現在Keyvan Nayyeri的blog post。
馬克
我希望與配置,而不是代碼來完成,但是這肯定會做的伎倆,如果沒有辦法與配置做到這一點。感謝你的回答。 – Odd 2009-09-08 23:08:54
據我所知,沒有辦法根據配置中的IP限制呼叫者,對不起。 – 2009-09-09 04:57:23