Защита URL администрации сервиса ArcGIS Spatial Data Server в Apache Tomcat

Вы можете внести изменения в файлы server.xml, tomcat-users.xml и web.xml Apache Tomcat, чтобы разрешить отдельным пользователям администрировать и просматривать сервисы, используя URL-адреса ArcGIS Spatial Data Server.

ПодсказкаПодсказка:

Кроме того, всегда используйте подключения по протоколу Secure Sockets Layer (SSL) к вашим сайтам в производственных средах. О том, как настроить такую конфигурацию, см. в документации Apache Tomcat.

Следует иметь в виду, что каталог сервисов, выполняющихся на сайте сервера пространственных данных, нельзя отфильтровать по пользователям и ролям; все они будут видимы для любого пользователя, открывшего каталог.

При настройке проверки подлинности Tomcat для вашего сайта появляется диалоговое окно для пользователей, которые впервые просматривают URL администрирования безопасного сервера пространственных данных или URL безопасного сервиса, в котором для получения доступа необходимо ввести имя пользователя и пароль. После ввода правильных данных пользователи смогут просмотреть все URL на протяжении всего веб-сеанса.

Существуют различные методы проверки подлинности, которые можно задать для Tomcat при помощи тегов в файле web.xml. Сведения о применении этих методов см. в документации Tomcat.

Изменение файла server.xml

Добавьте вложенный компонент Realm внутри контейнера Engine, Host или Context в файле $CATALINA_HOME/conf/server.xml, чтобы активировать безопасную область для вашего экземпляра Tomcat.

В этом примере область Tomcat по умолчанию активируется с помощью MemoryRealm:

<Realm className="org.apache.catalina.realm.MemoryRealm" />

MemoryRealm следует использовать только для экспериментальных веб-приложений. Для производственных веб-приложений есть другие варианты Realm. Более подробно о настройке области (realm) см. в документации Tomcat.

Изменение файла tomcat-users.xml

Добавьте записи для определения ролей и пользователей, имеющих эти роли.

В следующем примере показаны две роли и три пользователя; при этом пользователям присвоены роли:

<role rolename="tomcat"/>
 <role rolename="role1"/>
 <user username="tomcatu" password="TCyoosir" roles="tomcat"/>
 <user username="superu" password="2$3cr3t" roles="tomcat,role1"/>
 <user username="user1" password="Y00zR0n3" roles="role1"/>

Изменение файла web.xml

ArcGIS 10.1 Spatial Data Server for Java устанавливается в виде архива веб-приложения (war)—arcgis.war—архивного файла Java (.jar), который используется для дистрибуции набора JavaServer Pages, Java Servlets, Java-классов, XML-файлов, статических HTML веб-страниц и других файлов, образующих веб-приложение.

Файл web.xml является частью файла arcgis.war. Для его изменения необходимо сделать следующее: распаковать файл war, выполнить редактирование файла web.xml, а затем заново упаковать файл war. Установите JDK для разархивирования и повторного архивирования war-файла.

Шаги:
  1. Создайте резервную копию файла arcgis.war.

    Сохраните резервную копию в папке вне $CATALINA_HOME.

  2. Разархивируйте файл arcgis.war.
  3. Добавьте элемент и подэлементы ограничения безопасности в файл web.xml.

    В следующем примере пользователи, просматривающие URL /admin/* сервера пространственных данных, получат запрос на ввод имени и пароля. Пользователь должен ввести учетные данные для одного из двух пользователей, добавленных в роль tomcat в файле tomcat-users.xml. В данном примере при выполнении администрирования или публикации соединения из ArcGIS for Desktop в сервер пространственных данных необходимо ввести имя и пароль для пользователя tomcatu или superu.

    <security-constraint>
       <display-name>Restricted GET and POST To tomcat users of ADMIN</display-name>
       <web-resource-collection>
          <web-resource-name>Restricted Access - Get Only</web-resource-name>
          <url-pattern>/admin/*</url-pattern>
          <http-method>GET</http-method>
    	<http-method>POST</http-method>
       </web-resource-collection>
       <auth-constraint>
          <role-name>tomcat</role-name>
       </auth-constraint>
       <user-data-constraint>
          <transport-guarantee>NONE</transport-guarantee>
       </user-data-constraint>
    </security-constraint>
     <login-config>
      <auth-method>DIGEST</auth-method>
      <realm-name>default</realm-name>
    </login-config>
    

    Метод проверки подлинности DIGEST был указан с помощью вложенных компонентов <auth-method> в предыдущем примере. Другими возможными методами проверки подлинности, которые могут быть указаны с данным подэлементом, являются BASIC или FORM, но эти методы отправляют пароли в незашифрованном виде.

  4. Сохраните и закройте файл web.xml.
  5. Снова упакуйте файл arcgis.war в архив.

    Этот файл должен иметь имя arcgis.war.

Перезапуск Tomcat

После изменения всех xml-файлов выполните следующие действия:

Шаги:
  1. Остановите сервер Tomcat.
  2. Удалите файлы кэша сервера Tomcat.

    Они находятся в папке $CATALINA_HOME/work или $CATALINA_HOME/temp. Вы можете удалить все каталоги и содержащиеся в них файлы.

  3. Скопируйте измененный файл arcgis.war в каталог $CATALINA_HOME/webapps/.
  4. Перезапустите Tomcat.
9/11/2013