プロキシの構成

ArcGIS Viewer for Silverlight では、プロキシ ページを使用して、セキュアなサービスにアクセスする際のユーザの認証情報を保存できます。プロキシ ページは、Web サーバ上で実行されるサーバ側コードで構成されます。ブラウザは受け取ったリクエストをプロキシへ送信し、プロキシはそのリクエストを ArcGIS Server サービスへ転送します。これによりセキュアなサービスにアクセスできるようになります。プロキシ ページは、長期間有効なトークンを保存したり、起動時にトークンを生成するための認証情報を保存したりします。ユーザの認証情報やトークンは、サーバ側のプロキシ ページでセキュアな状態のまま保持されるため、クライアント側からは閲覧できません。詳細については、ArcGIS API for Silverlightの「セキュアなサービス」トピックをご参照ください。

ArcGIS Viewer for Silverlight には、サンプル プロキシ ページ が用意されており、これらを使用して、アプリケーションに必要な ArcGIS Server サービスとの通信を処理できます。トークンを使用する場合、トークンはアプリケーションによって異なるため、通常はアプリケーションごとに 1 つのプロキシ ページが必要になります。

詳細については、このトピックの以下のセクションをご参照ください。

プロキシ ページのダウンロードおよびインストール

ここでは、プロキシ ページをダウンロードして Web サーバにインストールする手順を説明します。プロキシ ページは、Esri サーバや ArcGIS Server コンピュータではなく、ローカル Web サーバ上で実行されます(Web サーバが ArcGIS Server インスタンスもホストする場合を除く)。

注意注意:

トークンベースの認証を使用しているサービスでプロキシ ページを使用する場合は、そのサービスのトークンを取得します。トークンを必要とする複数の ArcGIS Server システムをアプリケーションで使用する場合は、サーバごとにそれぞれトークンを取得します。

最初に、ASP.NET 2.0 以上がインストールされ、IIS に登録されていることを確認してください。ASP.NET が IIS で構成されていない場合は、MSDN の「ASP.NET と IIS の構成」MSDN ヘルプ トピックを参照し、実行している IIS バージョンの説明に従ってください。

  1. サンプル プロキシ ページをダウンロードして圧縮解除し、Web サーバのルート ディレクトリのフォルダに保存します。IIS では、Web サーバのルート ディレクトリのデフォルトの場所は c:\inetpub\wwwroot です。このプロキシを複数のサイトで使用する場合は、Web ルート ディレクトリに proxy フォルダを作成し、このフォルダ内にコンテンツを配置します。
  2. IIS マネージャを開きます。IIS マネージャを開く方法は、使用している IIS のバージョンによって異なります。詳しくは、「サポート技術情報(Microsoft Knowledge Base)」の記事をご参照ください。
  3. proxy フォルダの Web アプリケーションを作成します。作成方法は、使用している IIS のバージョンによって異なります。
    • IIS 5 またはIIS 6 では次の手順に従います。
    1. [既定の Web サイト] で、proxy ディレクトリを右クリックして [プロパティ] をクリックします。
    2. [ホーム ディレクトリ] タブの [アプリケーションの設定] セクションで、[作成] ボタンをクリックして [OK] をクリックします。
      IIS アプリケーションの作成
    1. [既定の Web サイト]Proxy ディレクトリを右クリックし、[アプリケーションの追加] をクリックします。
      IIS7 アプリケーションの作成
    2. [アプリケーションの追加] ダイアログ ボックスで [エイリアス][物理パス] を指定し、[OK] をクリックします。
      アプリケーションの追加(IIS 7)

トークンの取得

トークン サービス Web ページを使用してトークンを作成したり、トークンをプログラムで生成することができます。リファラまたは IP アドレスからクライアント ID がわかる場合は、トークン サービス Web ページを使用して長期間有効なトークンを生成します。プログラムで取得すると、通常、短期間有効なトークンを起動時に生成するため、トークンが改ざんされる可能性を削減することができます。トークン サービス Web ページを使用してトークンを作成するには、以下のとおり実行します。

  1. サービスの URL を取得します。URL は、ArcGIS Server サイト管理者またはサービス ディレクトリのいずれかから取得できます。
  2. 取得した URL に移動します。Services Directory が表示され、ログインするよう求められる場合があります。
  3. サービスの情報が表示されるページの右上にある [Get Token] をクリックします。[Get Token] リンクがない場合、サービスは、セキュリティ保護されていないか、HTTP/Window 認証を使用しているかのどちらかです。
  4. ArcGIS トークン サービス Web ページが表示されます。URL に HTTPS が使用されていることを確認します。トークン サービスは、通常、ユーザ データの転送の暗号化を確実にするため、セキュアな接続を使用してアクセスします。ページに次の情報を入力します。

    • ArcGIS Server システム管理者から提供されるユーザ名とパスワード。
    • トークンを使用する Web アプリケーションに固有の ID を定義するための識別子。次の 2 つのオプションがあります。Web アプリケーション URL/HTTP リファラまたは IP アドレス。http://<ホスト名> だけでなく、配置したアプリケーションの Viewer.xap ファイルの URL を使用してください(http://<ホスト名>/Apps/MyApplication/Viewer.xap など)。長期間有効なトークンを作成する必要がある場合は、プロキシ ページで IP オプションを使います。
    • 有効期限。トークンが有効な期間を定義します。権限がないユーザによってトークンが傍受された場合には、有効期限が短いほうが安全ですが、古いトークンの期限が切れる前に、新しいトークンを取得して適用する必要があります。トークンの有効期限が切れている場合、ArcGIS Server サービスは、リクエストを拒否します。

  5. [Generate] をクリックします。ページの下部にトークンが表示されます。この値をコピーして、プロキシ ページに使用します(次のセクションをご参照ください)。
    ヒントヒント:

    トークンが表示されない場合や、エラー メッセージが表示される場合は、入力した値が正しいか確認してください。

プロキシ ページの構成

  1. proxy.config(プロキシ ページ構成)をテキスト エディタまたは XML エディタで開きます。
  2. このプロキシ ページを使用する各 ArcGIS Server について、XML 構成ファイルの <serverUrls> セクションに <serverUrl> エントリを追加します。追加例はプロキシ構成ファイルをご参照ください。serverUrl エレメントには次の属性があります。
    • URL - ArcGIS Server コンピュータまたはサービスの URL。同じサーバの複数のサービスをアプリケーションで使用する場合、URL には サービスのルートを指定します。サーバ上の 1 つのサービスのみを使用する場合は、そのサービスの完全な URL を指定します。
    • matchAll - この URL が指定されたすべてのリクエストで同じトークンを使用するかどうかを指定します。この属性が true で、URL 属性をサービスのルートに設定した場合、アプリケーションの複数のサービスで同じエントリが使用されます。
    • token - 認証トークン。オプション - トークンベースの認証でセキュリティ保護されたサービスだけに使用されます。

    同じサーバ上の複数のサービスをアプリケーションで使用する場合、URL にはサービスのルート(http://www.example.com/arcgis/rest/services など)を指定し、matchAll パラメータを true に設定します。アプリケーションで 2 台以上の ArcGIS Server コンピュータを使用する場合は、複数のサーバ エントリを追加できます。

    親エレメントの mustMatch 属性は、指定したサイトにのみプロキシを適用するかどうかを制御します。通常はこの属性を true に設定します。false に設定した場合、プロキシ ページからサーバへすべてのリクエストが転送されるので、権限が与えられていなくても、プロキシ ページを介してサードパーティのサーバへリクエストを送信できるようになります。

  3. 構成ファイルを保存します。プロキシ ページの URL を書き留めておいてください。セキュリティで保護されたマップ サービスを ArcGIS Viewer for Silverlight へ追加するときに必要となります。
11/30/2012