intra-mart Accel Platform 移行ガイド 第18版 2020-12-01

Servlet

  1. 各設定ファイルを intra-mart Accel Platform が定義する場所に配置してください。

    • メッセージプロパティ(*.properties)ファイル

      WEB-INF/conf/message 配下

  2. 画面に対し、以下のどちらかの対応を行ってください。

  3. ロジックに対し、API対応を行ってください。

    • 削除されたAPIを利用していた場合は、他のAPIに差し替えるなどの対応を行ってください。

    コラム

    削除されたAPIを利用していなければ、対応を行う必要はありません。

  4. 認可を設定してください。

    注意

    認可の設定を行わなかった場合、アクセス権チェックが行われず、すべてのユーザがアクセス可能です。

    Servlet を利用したアプリケーションに対し、認可機能を適用するには、以下の設定が必要です。

    1. マッピングしているURLに対して、ルーティング設定を追加する
    2. 認可リソースを登録し認可設定を行う

    例えば、以下の Servlet に対して追加するルーティング設定について説明します。

    マッピング先のURL /foo/bar

    1. 認可リソースURIを決定します。ここでは、以下を設定します。

      service://foo/bar

    2. Servlet ルーティング設定(routing-servlet-config)を作成します。

      <?xml version="1.0" encoding="UTF-8"?>
      <routing-servlet-config
          xmlns="http://www.intra-mart.jp/router/routing-servlet-config"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://www.intra-mart.jp/router/routing-servlet-config routing-servlet-config.xsd ">
      
          <servlet-mapping path="/foo/bar" servlet="/foo/bar">
              <authz uri="service://foo/bar" action="execute" />
          </servlet-mapping>
      
      </routing-service-config>
      

    注意

    認可によるアクセス制御について
    Servlet にアクセスするためのURLに対して認可設定を行う場合は、Servlet ルーティング設定(routing-servlet-config)の <servlet-mapping> タグを適切に設定してください。
    具体的には、以下の3つで同じパスを指定したルーティング設定を追加する必要があります。
    • web.xml に定義されたサーブレットに対するURL(servlet-mappingで定義されたURLパターン)
    • Servlet ルーティング設定(routing-servlet-config)の <servlet-mapping> タグの「path」属性
    • Servlet ルーティング設定(routing-servlet-config)の <servlet-mapping> タグの「servlet」属性
    このルーティング設定がない場合、認可を経由せずにサーブレットへ直接アクセスが可能であり、脆弱性の原因です。
    ワイルドカード指定について
    Servlet ルーティング設定(routing-servlet-config)の「path」「servlet」属性には、 * (アスタリスク)等のワイルドカードは指定できません。
    web.xml で定義された Servlet に対するURLがワイルドカードで指定されている場合、パターンを網羅したすべてのURLを、Servlet ルーティング設定(routing-servlet-config)の <servlet-mapping> に対して設定してください。
    認可設定については、「スクリプト開発モデル プログラミングガイド の 認可 」の「画面へアクセスするための認可設定方法」章を参照してください。
    スクリプト開発モデルの認可設定方法が記載されていますが、手順は同じです。

    コラム

    Servlet ルーティング設定(routing-servlet-config)については、「設定ファイルリファレンス の サーブレットルーティング設定 」を参照してください。
    認可の詳細については、「認可仕様書 」を参照してください。