2012-01-30 8 views
0

私たちは私たちの会社に2台の公衆インターネットサーバーを持っています。 (serverA.mycompany.com & serverB.myCompany.com)asp.net webservices認証/認可

インターネットに公開されているサーバーの1つにasp.net Webサービス(.asmx)がホストされています。 "* .myCompany.com"からのリクエストのみを許可するようにする必要があります。

残念ながら、マシンのIPアドレスは静的ではありません。 6ヵ月ほどでだから、IPベースのアクセスは私たちのための解決策ではありません。

あなたは、クライアントがちょうどそのホスト名に基づいているかを知ることができない「.myCompany.com *」から来る要求だけを許可するように

答えて

1

を助けてください。あなたはクライアントが(セキュリティのためにSSLを介して)認証される必要があり、少なくともサインは何を送信しますか。

あなたが「署名」についての骨董品であれば、私はここで答えでは簡単な例でそれを説明:あなたもハードコーディング何か「秘密、ASMX側のSSL証明書を設定することができる場合C# app should send some data to php website but should respect auth policies

"(2つのアプリケーション間で安全で機密なパスワードなどの)パスワードは、このトリックを行います。

それ以外の場合、クライアントのIPアドレスを取得するためにasmxクエリDNSを使用して、受信した要求と比較することができます。つまり、IISレベルではIPで制限できません。asmxで検証する必要があります。最初のリクエストでこれを一度だけ実行してから、動作が停止するまで(または別のものになるまで)メモリに保存してから、DNSに再度問い合せます。 IPがそれを頻繁に変更することはないので、おそらくこのIPをどこかより永久に(例えばデータベースのように)保持することさえできます。