Настройка прокси
В ArcGIS Viewer for Silverlight вы можете использовать прокси-страницу, чтобы хранить учетные данные пользователя для доступа к защищенным сервисам. Прокси-страница состоит из кода серверной части, который запускается на вашем веб-сервере. Браузер посылает запрос к вашему прокси, а прокси передает запрос сервису ArcGIS Server, который обеспечивает доступ к защищенному сервису. Прокси-страница хранит длинные токены или учетные данные аутентификации для создания токена во время выполнения. Учетные данные пользователя и токен остаются защищенными на прокси-странице на стороне сервера, а потому невидимы клиенту. Для получения дополнительной информации см. раздел Защищенные сервисы документации ArcGIS API for Silverlight.
ArcGIS Viewer for Silverlight содержит пример прокси-страницы, которую вы можете использовать для настройки взаимодействия с сервисами ArcGIS Server, использующимися в вашем приложении. Обычно вам требуется одна прокси-страница для приложения при использовании токенов, поскольку токены специфичны для приложения.
Обратитесь к следующим разделам данной темы для получения более подробной информации:
Загрузка и установка прокси-страницы
Приведенные ниже шаги описывают порядок загрузки и установки прокси-страницы на ваш веб-сервер. Прокси-страница запускается на вашем локальном веб-сервере, а не на сервере Esri или компьютере с ArcGIS Server (если ваш веб-сервер не содержит экземпляра ArcGIS Server).

Если вы будете использовать прокси-страницу для сервисов с аутентификацией на основе токенов, получите токен для сервиса. Если ваше приложение использует несколько систем ArcGIS Server, требующих токенов, получите токен для каждого сервера.
Перед тем, как продолжить, убедитесь, что на вашем компьютере ASP.NET версии 2.0 или выше установлен и зарегистрирован в IIS. Если ASP.NET не настроен в IIS, следуйте инструкциям запущенной версии IIS в разделе ASP.NET и настройка IIS справочной системы MSDN.
- Загрузите пример прокси-страницы, затем распакуйте архив и сохраните его содержимое в папку, расположенную в корневом каталоге вашего веб-сервера. В IIS местоположение корневой директории сервера по умолчанию – c:\inetpub\wwwroot. Если вы собираетесь использовать прокси для нескольких сайтов, вы можете создать папку в корневой директории, названную proxy, и разместить содержимое в ней.
- Откройте Менеджер IIS (IIS Manager). Статья База знаний Microsoft (Microsoft Knowledge Base) содержит инструкции по открытию менеджера IIS для разных версий IIS.
- Создайте Веб-приложение (Web Application) для папки proxy; эти действия зависят от используемой версии IIS.
- Для IIS версии 5 или 6 сделайте следующее:
- В Веб-сайте по умолчанию (Default Web Site) щелкните правой кнопкой директорию proxy и нажмите Свойства (Properties).
- На закладке Директория (Directory) в Настройках приложения (Application Settings) щелкните кнопку Создать (Create) и нажмите OK:
- Для IIS версии 7 проделайте следующее. Подробнее см. раздел Создание веб-сайта (IIS 7).
- В Веб-сайте по умолчанию (Default Web Site) щелкните правой кнопкой директорию Прокси (Proxy) и выберите Добавить приложение (Add Application):
- Укажите Псевдоним (Alias) и Физический путь (Physical Path) в диалоговом окне Добавить приложение (Add Application), а затем нажмите OK:
Получение токена
Вы можете создать токен, используя веб-страницу токенов либо создать токен автоматически. Веб-страница токенов используется для создания длинного токена, если вы знаете идентификатор клиента через заголовок либо IP-адрес. Программными средствами обычно создаются короткие токены во время выполнения, снижающие угрозу токену. Для создания токена с использованием веб-страницы токенов сделайте следующее:
- Возьмите URL сервиса. URL может быть получен либо через администратора сайта ArcGIS Server, либо с помощью Services Directory.
- Перейдите по URL. Вы попадете в Services Directory и вам будет предложено войти.
- Щелкните Получить токен (Get Token) в правом верхнем углу страницы, отображающей информацию сервиса. Если ссылка Получить токен (Get Token) отсутствует, сервис либо не является безопасным, либо использует аутентификацию HTTP/Windows.
- Появится веб-страница токенов ArcGIS. Обратите внимание на использование в URL протокола HTTPS. Доступ к сервису токенов обычно осуществляется с использованием защищенного подключения, что позволяет гарантировать то, что данные пользователя передаются в зашифрованном виде. Введите на странице следующую информацию:
- Имя пользователя и пароль, данные вам системным администратором ArcGIS Server.
- Идентификатор для определения ID веб-приложения, использующего токен. Существуют две опции: Заголовок URL/HTTP веб-приложения и IP-адрес. Используйте URL к файлу Viewer.xap развертываемого приложения (к примеру, http://<имя хоста>/Apps/MyApplication/Viewer.xap) вместо http://<имя хоста>. Если вам нужен длинный токен, используйте опцию IP на прокси-странице.
- Истечение времени. Определяет временной период, в течение которого токен будет действительным. Более короткие временные промежутки безопаснее использовать для случаев, когда токены перехватываются неизвестными пользователями, однако в этом случае вам необходимо получить новый токен и применить его до истечения срока действия старого. Истекшие токены приводят к отклонению запросов сервисом ArcGIS Server.
- Щелкните Создать (Generate). В нижней части страницы появится токен. Скопируйте это значение и используйте его на вашей прокси-странице (см. следующий раздел).
Подсказка:
Если токен не появился или было выведено сообщение об ошибке, убедитесь в корректности введенных вами данных.
Настройте прокси-страницу
- Откройте настройку прокси-страницы (proxy.config) в текстовом редакторе или редакторе XML.
- Для каждого ArcGIS Server, использующего прокси-страницу, добавьте <serverUrl> в XML-файл настройки в разделе <serverUrls>. См. примеры файлов настройки прокси. Элемент serverUrl может иметь следующие атрибуты:
- url–URL компьютера ArcGIS Server или сервиса. Если в приложении используется несколько сервисов на одном сервере, url может указывать на корневую папку сервисов. Если в приложении используется один сервис на сервере, может устанавливаться полный URL сервиса.
- matchAll – Указывает, следует ли использовать токен для всех запросов с этим URL. Если этот атрибут равен true, а атрибут url установлен на корневую папку сервисов, запись может использоваться для нескольких сервисов приложения.
- токен – Токен аутентификации. Дополнительный – используется только для защищенных сервисов с аутентификацией на основе токенов.
Если несколько сервисов на одном сервере используются в приложении, URL может указывать на корневую папку сервиса (к примеру, http://www.example.com/arcgis/rest/services), и значение параметра matchAll равно true. Несколько записей сервера могут быть добавлены в случае, если в приложении используется несколько компьютеров ArcGIS Server.
Атрибут mustMatch содержащегося элемента определяет, будут ли прокси только указанные сайты. Этот атрибут обычно равен true. Если он равен false, прокси-страница будет направлять любой запрос на любой сервер. Это потенциально позволит вашей прокси-странице посылать запросы сторонним серверам без вашего разрешения.
- Сохраните файл настройки. Запомните URL вашей прокси-страницы, поскольку он вам понадобится при добавлении безопасного картографического сервиса в ArcGIS Viewer for Silverlight.