1. ActionMappingService

アクションの定義(メタデータ)と、アクションがリクエストされた時に呼び出されるインターセプターを管理するサービスです。

インタフェース名

org.iplass.mtp.impl.web.actionmapping.ActionMappingService

実装クラス名

org.iplass.mtp.impl.web.actionmapping.ActionMappingService

ActionMappingServiceの設定

ブラウザからのリクエスト時に呼び出されるインターセプターを設定します。

設定項目
項目 説明

interceptor

RequestInterceptor、複数指定可

リクエスト用のインターセプター。

RequestInterceptor

classはorg.iplass.mtp.web.interceptor.RequestInterceptorの実装クラスを指定します。

標準で、以下のRequestInterceptorを提供します。

InitialInterceptor

classはorg.iplass.mtp.impl.web.interceptors.InitialInterceptorを指定します。

リクエストの初期処理として言語とプレビュー時刻を設定するインターセプターです。設定変更可能な項目はありません。

ActionCacheInterceptor

classはorg.iplass.mtp.impl.web.interceptors.ActionCacheInterceptorを指定します。

キャッシュを行うインターセプターです。設定変更可能な項目はありません。

AuthInterceptor

classはorg.iplass.mtp.impl.web.interceptors.AuthInterceptorを指定します。

認証を行うインターセプターです。設定変更可能な項目はありません。

ExceptionInterceptor

classはorg.iplass.mtp.impl.web.interceptors.ExceptionInterceptorを指定します。

例外のハンドリングを行うインターセプターです。以下の項目を設定可能です。

項目 説明

noHande

String、複数指定可

ハンドリングを行わない例外クラス。 複数指定する場合はプロパティを複数設定するか例外クラスを半角コロン(:)で区切って設定します。

eliminate

String、複数指定可

ハンドリングから除外する例外クラス。 複数指定する場合はプロパティを複数設定するか例外クラスを半角コロン(:)で区切って設定します。

LoggingInterceptor

classはorg.iplass.mtp.impl.web.interceptors.LoggingInterceptorを指定します。

ログの出力を行うインターセプターです。以下の項目を設定可能です。

項目 説明

actionTrace

boolean

アクションのログを出力するか。デフォルト値はtrueです。

partsTrace

boolean

画面の1部品として実行されたアクションのログを出力するか。デフォルト値はtrueです。

paramName

String、複数指定可

ログ出力するパラメータ名。

noStackTrace

String、複数指定可

スタックトレースを出力しない例外クラス。 複数指定する場合はプロパティを複数設定するか例外クラスを半角コロン(:)で区切って設定します。

UnavailableInterceptor

classはorg.iplass.mtp.impl.web.interceptors.UnavailableInterceptorを指定します。

メンテナンスチェックを行うインターセプターです。設定変更可能な項目はありません。

設定例
<service>
    <interface>org.iplass.mtp.impl.web.actionmapping.ActionMappingService</interface>
    <property name="interceptor" class="org.iplass.mtp.impl.web.interceptors.InitialInterceptor" />
    <property name="interceptor" class="org.iplass.mtp.impl.web.interceptors.AuthInterceptor" />
    <property name="interceptor" class="org.iplass.mtp.impl.web.interceptors.ExceptionInterceptor">
        <property name="noHande" value="org.iplass.mtp.auth.NeedTrustedAuthenticationException" />
        <property name="eliminate" value="org.apache.catalina.connector.ClientAbortException" />
        <property name="eliminate" value="org.iplass.mtp.impl.web.WebProcessRuntimeException:org.apache.catalina.connector.ClientAbortException" />
    </property>
    <property name="interceptor" class="org.iplass.mtp.impl.web.interceptors.UnavailableInterceptor" />
    <property name="interceptor" class="org.iplass.mtp.impl.web.interceptors.LoggingInterceptor">
        <property name="partsTrace" value="true" />
        <property name="paramName" value="defName" />
        <property name="noStackTrace" value="org.apache.catalina.connector.ClientAbortException" />
        <property name="noStackTrace" value="org.iplass.mtp.impl.web.WebProcessRuntimeException:org.apache.catalina.connector.ClientAbortException" />
    </property>
    <property name="interceptor" class="org.iplass.mtp.impl.web.interceptors.ActionCacheInterceptor" />
</service>

2. CsvUploadService

CSVアップロードを管理するサービスです

インタフェース名

org.iplass.mtp.impl.csv.CsvUploadService

実装クラス名

org.iplass.mtp.impl.csv.CsvUploadService

CsvUploadServiceの設定

CsvUploadServiceを設定します。

設定項目
項目 説明

showErrorLimitCount

int

CSVアップロードエラー表示件数上限値。-1 を指定した場合は無制限となる。

設定例
<service final="true">
    <interface>org.iplass.mtp.impl.csv.CsvUploadService</interface>
    <class>org.iplass.mtp.impl.csv.CsvUploadService</class>
    <!-- CSVアップロードエラー表示件数上限値 (-1は無制限)  -->
    <property name="showErrorLimitCount" value="100"/>
</service>

3. EntityWebApiService

EntityWebApiを管理するサービスです。

インタフェース名

org.iplass.mtp.impl.webapi.EntityWebApiService

実装クラス名

org.iplass.mtp.impl.webapi.EntityWebApiService

EntityWebApiServiceの設定

EntityWebApiServiceを設定します。

設定項目
項目 説明

maxLimit

int

EntityWebApiの取得件数の上限。

設定例
<service>
    <interface>org.iplass.mtp.impl.webapi.EntityWebApiService</interface>
    <property name="maxLimit" value="1000" />
</service>

4. IPAddressHistoryStoreService

過去にアクセスされたIPアドレスの保持を行うためのサービスです。

インタフェース名

org.iplass.mtp.impl.auth.authenticate.ipaddress.IPAddressHistoryStoreService

実装クラス名

org.iplass.mtp.impl.auth.authenticate.ipaddress.UserEntityIPAddressHistoryStoreService

UserEntityIPAddressHistoryStoreServiceの設定

過去にアクセスされたIPアドレスのUserEntityへの保持について設定します。

設定項目
項目 説明

storePropertyName

String

IPアドレスの保持に利用するUserEntityのプロパティ名。デフォルト値は ipAddressHistory です。

設定例
<service>
    <interface>org.iplass.mtp.impl.auth.authenticate.ipaddress.IPAddressHistoryStoreService</interface>
    <class>org.iplass.mtp.impl.auth.authenticate.ipaddress.UserEntityIPAddressHistoryStoreService</class>
    <property name="storePropertyName" value="ipAddressHistory" />
</service>

5. ReportingEngineService

帳票出力を管理するサービスです。

インタフェース名

org.iplass.mtp.impl.report.ReportingEngineService

実装クラス名

org.iplass.mtp.impl.report.ReportingEngineServiceImpl

ReportingEngineServiceの設定

ReportingEngineServiceを設定します。

設定項目
項目 説明

repotingEngine

ReportingEngine、複数指定可

帳票出力エンジンの設定。

ReportingEngine

classにorg.iplass.mtp.impl.report.ReportingEngineの実装クラスを指定します。

標準で以下のReportingEngineを提供します。

JasperReportingEngine

Jasper Reportを利用して帳票を作成するためのエンジンです。

classはorg.iplass.mtp.impl.report.JasperReportingEngineを指定します。 以下の項目を設定可能です。

項目 説明

supportFiles

String、複数指定可

サポート対象のファイル形式。

PoiReportingEngine

Apache POIを利用して帳票を作成するためのエンジンです。

classはorg.iplass.mtp.impl.report.PoiReportingEngineを指定します。 以下の項目を設定可能です。

項目 説明

supportFiles

String、複数指定可

サポート対象のファイル形式。

設定例
<service>
    <interface>org.iplass.mtp.impl.report.ReportingEngineService</interface>
    <class>org.iplass.mtp.impl.report.ReportingEngineServiceImpl</class>
    <property name="repotingEngine" class="org.iplass.mtp.impl.report.JasperReportingEngine">
        <property name="supportFiles" value="PDF"/>
        <property name="supportFiles" value="XLS"/>
        <property name="supportFiles" value="XLSX"/>
    </property>
    <property name="repotingEngine" class="org.iplass.mtp.impl.report.PoiReportingEngine">
        <property name="supportFiles" value="XLS_POI"/>
        <property name="supportFiles" value="XLSX_POI"/>
        <property name="supportFiles" value="XLSX_SXSSF_POI"/>
    </property>
</service>

6. SamlService

SAML認証を行うためのサービスです。 IdPとして動作させる場合、またSP側からIdPに送信するメッセージに署名を行う場合に証明書ストアの設定が必要です。

インタフェース名

org.iplass.mtp.impl.auth.authenticate.saml.SamlService

実装クラス名

org.iplass.mtp.impl.auth.authenticate.saml.SamlService

SamlServiceの設定

SAML認証を利用する場合、SamlServiceを設定します。

設定項目
項目 説明

validateSchema

boolean

SAMLメッセージをXMLSchema定義に従っているかを検証します。デフォルト値はfalseです。

keyStore

SamlKeyStore

証明書ストアの設定です。

setAddressToSubjectConfirmationData

boolean

AssertionのSubjectConfirmationDataにAddressを含めるかどうか。デフォルト値はtrueです。

SamlKeyStore

IdPとして動作させる場合、SP側(iPLAss側)でSAMLメッセージに署名を行う場合に定義が必要です。 秘密鍵及び証明書(以下エントリと記述)は、KeyStoreに格納します。 エントリは、複数登録可能です。 (複数の暗号化アルゴリズム対応するため、また証明書ロールオーバーのため)

classはorg.iplass.mtp.impl.auth.authenticate.saml.SamlKeyStoreを指定します。 以下の項目を設定可能です。

項目 説明

keyStoreType

String

KeyStoreのタイプ。デフォルト値は JKS です

keyStoreFilePath

String

署名作成の為のエントリが格納されるKeyStoreのファイルパス。

keyStorePassword

String

KeyStoreのパスワード。

keyPassword

String

秘密鍵のkeyPassword。

myCertificate

String、複数指定可

KeyStore内のエントリのうち、署名に利用するものを絞り込みたい場合にエントリのalias。

defaultSignatureAlgorithm

String

。デフォルト値は SHA256withRSA です。

keyStoreReloadIntervalDays

int

keyStoreのファイルの再読み込み間隔(日数)。 未指定の場合は、リロードは行いません。

rollOverStrategy

CertificateRollOverStrategy

証明書の有効期間が迫った場合のロールオーバー方式。 デフォルト値は OLDER です。

rollOverDaysBeforeExpire

long

rollOverStrategyが BEFORE_N_DAYS の場合に、切り替える日数。

CertificateRollOverStrategy

証明書の有効期間が迫った場合のロールオーバー方式を指定します。 複数の(新旧の)証明書がKeyStore内にある場合、どちらを利用するかを判断する方式です。

OLDER

有効期間が切れるまで、有効期間が短い(NotAfterが古い)証明書を利用

NEWER

有効期間内である証明書のうち、より有効期間が長い(NotAfterが新しい)証明書を利用

BEFORE_N_DAYS

有効期間が切れるrollOverDaysBeforeExpire日前に切り替える

設定例
<service>
  <interface>org.iplass.mtp.impl.auth.authenticate.saml.SamlService</interface>
  <property name="keyStore" class="org.iplass.mtp.impl.auth.authenticate.saml.SamlKeyStore">
    <property name="keyStoreFilePath" value="/app/.keystore" />
    <property name="keyStorePassword" value="yourOwnKeyStorePassword" />
    <property name="keyPassword" value="yourOwnKeyPassword" />
    <property name="keyStoreReloadIntervalDays" value="1" />
    <property name="rollOverStrategy" value="BEFORE_N_DAYS" />
    <property name="rollOverDaysBeforeExpire" value="5" />

  </property>
</service>

7. TenantAvailableService

テナントの稼動状態を管理するサービスです。

インタフェース名

org.iplass.mtp.impl.tenant.available.TenantAvailableService

実装クラス名

org.iplass.mtp.impl.tenant.available.TenantAvailableService

TenantAvailableServiceの設定

TenantAvailableServiceを設定します。

設定項目
項目 説明

allwaysAvailableAction

String、複数指定可

メンテナンス中でも利用可能なアクション

設定例
<service>
    <interface>org.iplass.mtp.impl.tenant.available.TenantAvailableService</interface>
    <class>org.iplass.mtp.impl.tenant.available.TenantAvailableService</class>
    <property name="allwaysAvailableAction" value="gem/auth/login" />
    <property name="allwaysAvailableAction" value="gem/auth/dologin" />
    <property name="allwaysAvailableAction" value="gem/auth/logout" />
    <property name="allwaysAvailableAction" value="gem/auth/expiredpassword/update" />
</service>

8. WebApiJAXBService

WebApiのJAXBでの変換対象のクラス定義を行うサービスです。

インタフェース名

org.iplass.mtp.impl.webapi.jaxb.WebApiJaxbService

実装クラス名

org.iplass.mtp.impl.webapi.jaxb.WebApiJaxbService

WebApiJaxbServiceの設定

WebApiJaxbServiceを設定します。

設定項目
項目 説明

classToBeBound

String、複数指定可

WebApiのレスポンスでJAXBでの変換対象となるクラス。

設定例
<service>
    <interface>org.iplass.mtp.impl.webapi.jaxb.WebApiJaxbService</interface>
    <property name="classToBeBound" value="org.iplass.mtp.impl.webapi.jaxb.Builtins" />
    <!-- ee only classes -->
    <property name="classToBeBound" value="org.iplass.mtp.impl.webapi.jaxb.EnterpriseDefinitions" />
    <!--
    <property name="classToBeBound" value="org.iplass.mtp.impl.csv.CsvUploadResult" />
     -->
</service>

9. WebApiService

WebApiの定義(メタデータ)を管理するサービスです。

インタフェース名

org.iplass.mtp.impl.webapi.WebApiService

実装クラス名

org.iplass.mtp.impl.webapi.WebApiService

WebApiServiceの設定

WebApiを設定します。

設定項目
項目 説明

enableDefinitionApi

boolean

DefinitionWebAPIを公開するか。

enableBinaryApi

boolean

BinaryWebAPIを公開するか。

statusMap

StatusMap、複数指定可

Exception発生時に返すステータスコードの対応設定。

xRequestedWithMap

Map

WebApiでX-Requested-Withヘッダをチェックする設定の時に、チェックする項目と比較する値。

cors

CorsConfig

XHR2(CORS)する際の許可ドメイン設定。

StatusMap

以下の項目が設定可能です。

項目 説明

exception

String

Exceptionのクラス名。

status

int

Exception発生時のステータスコード。

CorsConfig

以下の項目が設定可能です。

項目 説明

allowOrigin

String、複数指定可

アクセスを許可するドメイン。

allowCredentials

boolean

WebApiのレスポンス情報をリクエスト元に返却するか。

設定例
<service>
    <interface>org.iplass.mtp.impl.webapi.WebApiService</interface>
    <property name="enableDefinitionApi" value="false" />
    <property name="enableBinaryApi" value="false" />
    <property name="xRequestedWithMap">
        <property name="X-Requested-With" value="XMLHttpRequest" />
    </property>
    <property name="statusMap">
        <property name="exception" value="org.iplass.mtp.auth.NoPermissionException" />
        <property name="status" value="403" />
    </property>
    <property name="statusMap">
        <property name="exception" value="org.iplass.mtp.auth.NeedTrustedAuthenticationException" />
        <property name="status" value="403" />
    </property>
    <property name="statusMap">
        <property name="exception" value="org.iplass.mtp.tenant.available.UnavailableException" />
        <property name="status" value="503" />
    </property>
    <property name="statusMap">
        <property name="exception" value="org.iplass.mtp.ApplicationException" />
        <property name="status" value="500" />
    </property>
    <property name="statusMap">
        <property name="exception" value="org.iplass.mtp.SystemException" />
        <property name="status" value="500" />
    </property>
    <property name="cors">
        <property name="allowOrigin" value="https://hogehoge.isid.co.jp" />
        <property name="allowOrigin" value="https://fugafuga.isid.co.jp" />
        <property name="allowCredentials" value="true" />
    </property>
</service>

10. WebFrontendService

Webアプリ全般の動作を管理するサービスです。

インタフェース名

org.iplass.mtp.impl.web.WebFrontendService

実装クラス名

org.iplass.mtp.impl.web.WebFrontendService

WebFrontendServiceの設定

Webアプリ共通の振る舞いを設定します。

設定項目
項目 説明

tempFileDir

String

テンポラリファイル格納パス。 未指定時は「javax.servlet.context.tempdir」を使用します。

staticContentPath

String

静的コンテンツパス。 Eclipseプロジェクト設定時に変更した「コンテキスト名」を指定してください。

defaultContentType

String

TemplateのContent Disposition TypeがDefaultの場合に指定するContentType。 未指定時は text/html; charset=utf-8 となります。

defaultClientCacheType

String

デフォルトのクライアントキャッシュ。 キャッシュを許可する場合は CACHE を、許可しない場合は NO_CACHE を設定します。

maxUploadFileSize

long

ファイルアップロード時のサイズ上限。 -1を指定した場合は上限がなくなります。未指定時は-1となります。

errorUrlSelector

ErrorUrlSelector

エラーページの表示を行うErrorUrlSelector。

loginUrlSelector

LoginUrlSelector

ログインページの表示を行うLonginUrlSelector。

excludePath

String、複数指定可

iPLAss管理対象外のパス 正規表現で指定します。 指定したパスは権限等のチェックが行われません。

throughPath

String、複数指定可

iPLAss配下で動くが、独自Servletを呼び出すパス 正規表現で指定します。

restPath

String

WebApiのパス定義を設定します。 WebApiへのアクセス時は、restPathの後にWebApiの名前が続きます。

logoutUrl

String

ログアウト時にキックするURL。

contentDispositionPolicy

ContentDispositionPolicy、複数指定可

ContentDispositionの出力設定。

uploadFileScanner

FileScanner

ウィルススキャン実行設定。

isExecMagicByteCheck

boolean

アップロードファイルのマジックバイトチェックを行うか。

directAccessPort

String

ダイレクトアクセスポート。 このポートの場合テナントのurlForRequest指定は無効となります。

clientMode

String

Webクライアントのモード。 DEBUGを指定した場合、WebApiアクセスエラー時にエラー内容を表示します。

transactionTokenMaxSize

int

トランザクショントークンの保有上限。

welcomeAction

String、複数指定可

リクエストされたURLのアクション部分が「/」の場合に、代わりに実行するアクション。

redirectAfterLogin

boolean

未ログイン状態でアクセスしたアクションに対して、ログイン後にリダイレクトを行うか。 リダイレクトを行う場合、アクションがGETメソッドを許可している必要があります。

tenantAsDomain

boolean

ドメインをテナントURL(/テナント名)として扱うか。

fixedTenant

String

設定された値をテナントURLとして扱う。

ErrorUrlSelector

classはorg.iplass.mtp.impl.web.ErrorUrlSelectorの実装クラスを指定します。

標準で、以下のErrorUrlSelectorを提供します。

  • org.iplass.gem.GemErrorUrlSelector

  • org.iplass.gem.EnterpriseGemErrorUrlSelector

GemErrorUrlSelector及びEnterpriseGemErrorUrlSelectorは設定変更可能な項目はありません。

LoginUrlSelector

classはorg.iplass.mtp.impl.web.LoginUrlSelectorの実装クラスを指定します。

標準で、ログインページの表示を行うorg.iplass.gem.GemLoginUrlSelectorを提供します。 GemLoginUrlSelectorは設定変更可能な項目はありません。

ContentDispositionPolicy

classはorg.iplass.mtp.impl.web.ContentDispositionPolicyを指定します。 以下の項目を設定可能です。

項目 説明

userAgentKey

String

UserAgent識別子(*はデフォルト)。

contentDispositionTypeName

String

ContentDispositionType名(*は全て)。

unescapeCharacter

String

エスケープしない文字(Alphabet、数値は無条件でエスケープ除外)。

defaultContentDispositionTypeName

String

未指定時のContentDispositionType名。

FileScanner

classはorg.iplass.mtp.impl.web.fileupload.FileScannerの実装クラスを指定します。

標準で、ウィルススキャンを実行を行うorg.iplass.mtp.impl.web.fileupload.DefaultFileScannerを提供します。 DefaultFileScannerは以下の項目を設定可能です。

項目 説明

comandPath

String、必須

ウィルススキャンコマンドのパス。

timeout

String、必須

ウィルススキャンのタイムアウト時間。

設定例
<service>
    <interface>org.iplass.mtp.impl.web.WebFrontendService</interface>
    <class>org.iplass.mtp.impl.web.WebFrontendService</class>
    <!-- welcome file(action) -->
    <property name="welcomeAction" value="index" />
    <property name="transactionTokenMaxSize" value="50" />
    <property name="defaultClientCacheType" value="CACHE" />
    <!-- DispatcherFilterで処理しないpathの定義 -->
    <!-- static contents -->
    <property name="excludePath" value="(/errorhtml/.*)|(/images/.*)|(/scripts/.*)|(/styles/.*)|(/favicon.ico)|(/webjars/.*)" />
    <!-- servlet implementation -->
    <property name="excludePath" value="(/checkStatus)|(/cmcs)" />
    <!-- SOAP path -->
    <property name="excludePath" value="/soap/.*" />

    <!-- WebAPI(REST)のpathの定義 -->
    <property name="restPath" value="/api/" />
    <!-- ログアウト時にキックするURL -->
    <property name="logoutUrl" value="logout" />
    <!-- エラーページの設定 -->
    <property name="errorUrlSelector" class="org.iplass.gem.GemErrorUrlSelector" />
    <!-- ログインページの設定 -->
    <property name="loginUrlSelector" class="org.iplass.gem.GemLoginUrlSelector" />
    <!-- テンポラリファイル格納パス 未指定時は「javax.servlet.context.tempdir」を使用 -->
    <!--
    <property name="tempFileDir" value="/tmp" />
    -->
    <!-- ダイレクトアクセスポート このポートの場合テナントのurlForRequest指定は無効 -->
    <!--
    <property name="directAccessPort" value="8080" />
    -->
    <!-- Webクライアントのモード DEBUGを指定した場合、WebAPIアクセスエラー時にエラー内容を表示 -->
    <!--
    <property name="clientMode" value="DEBUG" />
    -->

    <!-- ContentDispositionの出力設定 -->
    <!-- default -->
    <property name="contentDispositionPolicy" class="org.iplass.mtp.impl.web.ContentDispositionPolicy">
        <property name="userAgentKey" value="*" />
        <property name="contentDispositionTypeName" value="*" />
        <property name="unescapeCharacter" value="-._~" />
        <property name="defaultContentDispositionTypeName" value="ATTACHMENT" />
    </property>
    <!-- IE11 -->
    <!-- IE11の場合、INLINEではブランクをエスケープしない -->
    <property name="contentDispositionPolicy" class="org.iplass.mtp.impl.web.ContentDispositionPolicy">
        <property name="userAgentKey" value="Trident" />
        <property name="contentDispositionTypeName" value="INLINE" />
        <property name="unescapeCharacter" value="-._~ " />
        <!--
        <property name="defaultContentDispositionTypeName" value="" />
         -->
    </property>
    <!--
        追加する場合、userAgentKey、contentDispositionTypeNameごとにエスケープしない文字を指定。
        contentDispositionTypeName: * | ATTACHMENT | INLINE
        unescapeCharacter: アルファベット、数字以外で除外する文字
    -->
    <!--
    <property name="contentDispositionPolicy" class="org.iplass.mtp.impl.web.ContentDispositionPolicy">
        <property name="userAgentKey" value="XXXX" />
        <property name="contentDispositionTypeName" value="INLINE" />
        <property name="unescapeCharacter" value="-._~" />
    </property>
    -->

    <!-- ウィルススキャン実行 -->
    <!--
    <property name="uploadFileScanner" class="org.iplass.mtp.impl.web.fileupload.DefaultVirusScanner" >
        <property name="commandPath" value="xxxxx.exe ${file}" />
        <property name="timeout" value="15" />
    </property>
     -->

    <!-- MagicByteCheck実行 -->
    <property name="isExecMagicByteCheck" value="true" />
</service>
{doctitle}