WCF で実装された Web サービスがあります。このサービスは、単一のクライアント (静的 IP アドレスを持つサイト) によってのみ呼び出されます。サービスへのすべての呼び出しが、この特定の静的 IP からのものである場合にのみ有効であることを確認する単純なセキュリティを実装したいと考えています。
これを行う最善の方法は何ですか?
WCF で実装された Web サービスがあります。このサービスは、単一のクライアント (静的 IP アドレスを持つサイト) によってのみ呼び出されます。サービスへのすべての呼び出しが、この特定の静的 IP からのものである場合にのみ有効であることを確認する単純なセキュリティを実装したいと考えています。
これを行う最善の方法は何ですか?
.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 のブログ投稿で見られました。
マルク