1. ActionMappingService
アクションの定義(メタデータ)と、アクションがリクエストされた時に呼び出されるインターセプターを管理するサービスです。
インタフェース名
org.iplass.mtp.impl.web.actionmapping.ActionMappingService
実装クラス名
org.iplass.mtp.impl.web.actionmapping.ActionMappingService
ActionMappingServiceの設定
ブラウザからのリクエスト時に呼び出されるインターセプターを設定します。
設定項目
項目 | 値 | 説明 |
---|---|---|
interceptor |
RequestInterceptor、複数指定可 |
リクエスト用のインターセプター。 |
classはorg.iplass.mtp.web.interceptor.RequestInterceptorの実装クラスを指定します。
標準で、以下のRequestInterceptorを提供します。
classはorg.iplass.mtp.impl.web.interceptors.InitialInterceptorを指定します。
リクエストの初期処理として言語とプレビュー時刻を設定するインターセプターです。設定変更可能な項目はありません。
classはorg.iplass.mtp.impl.web.interceptors.ActionCacheInterceptorを指定します。
キャッシュを行うインターセプターです。設定変更可能な項目はありません。
classはorg.iplass.mtp.impl.web.interceptors.AuthInterceptorを指定します。
認証を行うインターセプターです。設定変更可能な項目はありません。
classはorg.iplass.mtp.impl.web.interceptors.ExceptionInterceptorを指定します。
例外のハンドリングを行うインターセプターです。以下の項目を設定可能です。
項目 | 値 | 説明 |
---|---|---|
noHande |
String、複数指定可 |
ハンドリングを行わない例外クラス。 複数指定する場合はプロパティを複数設定するか例外クラスを半角コロン(:)で区切って設定します。 |
eliminate |
String、複数指定可 |
ハンドリングから除外する例外クラス。 複数指定する場合はプロパティを複数設定するか例外クラスを半角コロン(:)で区切って設定します。 |
classはorg.iplass.mtp.impl.web.interceptors.LoggingInterceptorを指定します。
ログの出力を行うインターセプターです。以下の項目を設定可能です。
項目 | 値 | 説明 |
---|---|---|
actionTrace |
boolean |
アクションのログを出力するか。デフォルト値はtrueです。 |
partsTrace |
boolean |
画面の1部品として実行されたアクションのログを出力するか。デフォルト値はtrueです。 |
paramName |
String、複数指定可 |
ログ出力するパラメータ名。 |
noStackTrace |
String、複数指定可 |
スタックトレースを出力しない例外クラス。 複数指定する場合はプロパティを複数設定するか例外クラスを半角コロン(:)で区切って設定します。 |
メンテナンスチェックを行うインターセプターです。設定変更可能な項目はありません。
設定例
<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アップロードエラー表示件数上限値。 |
設定例
<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のプロパティ名。デフォルト値は |
設定例
<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、複数指定可 |
帳票出力エンジンの設定。 |
classにorg.iplass.mtp.impl.report.ReportingEngineの実装クラスを指定します。
標準で以下のReportingEngineを提供します。
Jasper Reportを利用して帳票を作成するためのエンジンです。
classはorg.iplass.mtp.impl.report.JasperReportingEngineを指定します。 以下の項目を設定可能です。
項目 | 値 | 説明 |
---|---|---|
supportFiles |
String、複数指定可 |
サポート対象のファイル形式。 |
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 |
証明書ストアの設定です。 |
|
setAddressToSubjectConfirmationData |
boolean |
AssertionのSubjectConfirmationDataにAddressを含めるかどうか。デフォルト値はtrueです。 |
IdPとして動作させる場合、SP側(iPLAss側)でSAMLメッセージに署名を行う場合に定義が必要です。 秘密鍵及び証明書(以下エントリと記述)は、KeyStoreに格納します。 エントリは、複数登録可能です。 (複数の暗号化アルゴリズム対応するため、また証明書ロールオーバーのため)
classはorg.iplass.mtp.impl.auth.authenticate.saml.SamlKeyStoreを指定します。 以下の項目を設定可能です。
項目 | 値 | 説明 |
---|---|---|
keyStoreType |
String |
KeyStoreのタイプ。デフォルト値は |
keyStoreFilePath |
String |
署名作成の為のエントリが格納されるKeyStoreのファイルパス。 |
keyStorePassword |
String |
KeyStoreのパスワード。 |
keyPassword |
String |
秘密鍵のkeyPassword。 |
myCertificate |
String、複数指定可 |
KeyStore内のエントリのうち、署名に利用するものを絞り込みたい場合にエントリのalias。 |
defaultSignatureAlgorithm |
String |
。デフォルト値は |
keyStoreReloadIntervalDays |
int |
keyStoreのファイルの再読み込み間隔(日数)。 未指定の場合は、リロードは行いません。 |
rollOverStrategy |
証明書の有効期間が迫った場合のロールオーバー方式。
デフォルト値は |
|
rollOverDaysBeforeExpire |
long |
rollOverStrategyが |
証明書の有効期間が迫った場合のロールオーバー方式を指定します。 複数の(新旧の)証明書が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 |
XHR2(CORS)する際の許可ドメイン設定。 |
以下の項目が設定可能です。
項目 | 値 | 説明 |
---|---|---|
exception |
String |
Exceptionのクラス名。 |
status |
int |
Exception発生時のステータスコード。 |
以下の項目が設定可能です。
項目 | 値 | 説明 |
---|---|---|
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。
未指定時は |
defaultClientCacheType |
String |
デフォルトのクライアントキャッシュ。
キャッシュを許可する場合は |
maxUploadFileSize |
long |
ファイルアップロード時のサイズ上限。 -1を指定した場合は上限がなくなります。未指定時は-1となります。 |
errorUrlSelector |
エラーページの表示を行うErrorUrlSelector。 |
|
loginUrlSelector |
ログインページの表示を行うLonginUrlSelector。 |
|
excludePath |
String、複数指定可 |
iPLAss管理対象外のパス 正規表現で指定します。 指定したパスは権限等のチェックが行われません。 |
throughPath |
String、複数指定可 |
iPLAss配下で動くが、独自Servletを呼び出すパス 正規表現で指定します。 |
restPath |
String |
WebApiのパス定義を設定します。 WebApiへのアクセス時は、restPathの後にWebApiの名前が続きます。 |
logoutUrl |
String |
ログアウト時にキックするURL。 |
contentDispositionPolicy |
ContentDispositionPolicy、複数指定可 |
ContentDispositionの出力設定。 |
uploadFileScanner |
ウィルススキャン実行設定。 |
|
isExecMagicByteCheck |
boolean |
アップロードファイルのマジックバイトチェックを行うか。 |
directAccessPort |
String |
ダイレクトアクセスポート。 このポートの場合テナントのurlForRequest指定は無効となります。 |
clientMode |
String |
Webクライアントのモード。 DEBUGを指定した場合、WebApiアクセスエラー時にエラー内容を表示します。 |
transactionTokenMaxSize |
int |
トランザクショントークンの保有上限。 |
welcomeAction |
String、複数指定可 |
リクエストされたURLのアクション部分が「/」の場合に、代わりに実行するアクション。 |
redirectAfterLogin |
boolean |
未ログイン状態でアクセスしたアクションに対して、ログイン後にリダイレクトを行うか。 リダイレクトを行う場合、アクションがGETメソッドを許可している必要があります。 |
tenantAsDomain |
boolean |
ドメインをテナントURL(/テナント名)として扱うか。 |
fixedTenant |
String |
設定された値をテナントURLとして扱う。 |
classはorg.iplass.mtp.impl.web.ErrorUrlSelectorの実装クラスを指定します。
標準で、以下のErrorUrlSelectorを提供します。
-
org.iplass.gem.GemErrorUrlSelector
-
org.iplass.gem.EnterpriseGemErrorUrlSelector
GemErrorUrlSelector及びEnterpriseGemErrorUrlSelectorは設定変更可能な項目はありません。
classはorg.iplass.mtp.impl.web.LoginUrlSelectorの実装クラスを指定します。
標準で、ログインページの表示を行うorg.iplass.gem.GemLoginUrlSelectorを提供します。 GemLoginUrlSelectorは設定変更可能な項目はありません。
classはorg.iplass.mtp.impl.web.ContentDispositionPolicyを指定します。 以下の項目を設定可能です。
項目 | 値 | 説明 |
---|---|---|
userAgentKey |
String |
UserAgent識別子(*はデフォルト)。 |
contentDispositionTypeName |
String |
ContentDispositionType名(*は全て)。 |
unescapeCharacter |
String |
エスケープしない文字(Alphabet、数値は無条件でエスケープ除外)。 |
defaultContentDispositionTypeName |
String |
未指定時のContentDispositionType名。 |
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>