2

パブリック Web サーバーでホストする Web サービスがあり、病院の壁内の Web サーバーでホストされている Web サービスからアクセスされます。ソフトウェアの両方の部分を作成したので、実装されているものを完全に制御できます。

2 つの Web サーバー間の通信を保護したいと考えています。現在、パブリック Web サーバー上の https と、クライアントを識別するための GUID のみが用意されています。

サポートできるネットワーク レベルの認証タイプがありますが、すべての顧客 (病院) が同じことを実行できるわけではないため、これらに依存するのは好きではありません。静的IPを提供できない人もいれば、VPNを実行できない人もいるため、これらの方法だけに頼ることはできません.

Web サービスへの通信を承認するために、どのような手法を使用しているか、または推奨していますか? 私たちの主な関心事は、人々が病院 ID (現在は単なる GUID) を取得したり、病院向けの Web サービスからデータを取得したりできないようにすることです。

システムへのパブリック アクセスを制限するために、他のネットワーク レベルのセキュリティ対策を採用しますが、ソフトウェア ソリューションも必要だと感じています。

システムはまだ本番稼働していませんが、開発は完了に近づいています。.net 3.5のC#で開発されました

FWIW 以前の雇用主がそれらの線に沿って何かを使用していたことを知っているので、ある種のトークンベースの承認を考えていました。ただし、何を探すべきか、またはトピックに関するその他の情報を具体的に知りません。

編集: WCF を使用したいのですが、現在、チームの誰も (私を含めて) 使用経験がなく、Web サービスとそれらと対話するコードを既に開発しています。.net 2.0 メソッドを使用して追加されたすべての Web 参照 (vs.net08 から、.net 3.5 を対象とする) を完全にやり直すことは避けたいと考えています。WCF がオプションではないとは言いませんが、そのオプションを喜んで採用するとは思いません。

4

3 に答える 3

1

httpsを介した基本認証のようなものを使用して、やりがいのあるユーザー名パスワードを提供できますか?MicrosoftSOAPはそれをかなりうまくサポートしていると思います。ほとんどの場合、IISを使用して基本認証を構成し(SSLを使用する必要があります)、C#でICredentialsをプロキシに渡すだけです。

グーグルから見ると、他の言語もSOAPを介した基本認証をサポートしているようです。

于 2009-02-17T18:23:30.520 に答える
1

クライアント証明書を使用して、呼び出し元から Web サービスに資格情報を提供できます。合格した証明書を取得し、追加の評価を行って、その証明書が何を認識できるかを決定することはそれほど難しくありません。

于 2009-02-17T18:01:15.050 に答える
1

おそらく OAuth のようなものを使いたいでしょう:

http://oauth.net/

これを WCF で使用して、エンドポイントを提供できます。

そこから、クレームを顧客の内部 ID にマップする必要があります (このマッピングが何であるかを判断する必要があります)。

このように、誰かに何かを発行することに頼る必要はありません。送信されたクレームに基づいてマッピングを作成するだけです。

于 2009-02-17T18:06:25.710 に答える