intra-mart Accel Platform セットアップガイド 第29版 2019-08-01

5.3.3.10. 外部メニュー連携

intra-mart Accel Platform の外部メニュー連携を行うための接続先情報を設定します。

注意

外部メニュー連携は、2013 Spring(Climbing) から利用することが可能です。

5.3.3.10.4. Webサービスモジュール

イントラマートより提供される Webサービスは、以下のモジュールです。
  • 外部メニュー連携サービス for intra-mart Accel Platform
  • 外部メニュー連携サービス for intra-mart WebPlatform v7.2

5.3.3.10.4.1. 外部メニュー連携サービス for intra-mart Accel Platform

外部メニュー連携サービス for intra-mart Accel Platform は、オプションモジュールです。
IM-Juggling で、「追加機能」-「Webサービス向け機能」-「外部メニュー連携 Webサービス」モジュールを選択して War を作成します。
プロキシサーバ等を利用している場合、メニュー情報生成のため、ベースURLの設定が必要です。
ベースURL設定は intra-mart Accel Platform 共通の設定を利用しています。 「ベースURL」の章を参照してください。
Webサービスモジュールを有効にするためには、認可の設定を行う必要があります。
Webサービス接続用のユーザを新規に作成し、認可設定により以下のリソースに実行許可を与えてください。 (既存のユーザに権限を与えることも可能です。)
以下の2つのリソースに同じ権限を設定してください。
  • リソースの種類 : Webサービス

  • リソースグループ/リソース名 :

    1. 外部メニュー連携/外部メニュー情報取得
    2. 外部メニュー連携/外部メニュー情報取得(管理)
メニュークライアントのシステム管理者に以下の情報を提供します。
Webサービス接続用エンドポイント
以下のフォーマットです。
http://<HOST>:<PORT>/<CONTEXT_PATH>/services/MenuService
Webサービス接続用ユーザコード 権限を与えられたユーザのユーザコードです。
Webサービス接続用ユーザパスワード 権限を与えられたユーザのパスワードです。

5.3.3.10.4.2. 外部メニュー連携サービス for intra-mart WebPlatform v7.2

外部メニュー連携サービス for WebPlatform v7.2 は、patch6 で提供されました。
また、メニュークライアントで外部メニューの表示順序を設定するための機能は、patch7 で提供されました。
外部メニュー連携を利用するためには、最新のパッチを利用するようにしてください。
プロキシサーバ等を利用している場合、メニュー情報生成のため、ベースURLの設定が必要です。
このモジュールでは、以下の設定を利用しています。設定がない場合は、追加するようにしてください。
  • 設定ファイル : <%ServerManager のインストールパス% /conf/parameter.xml>

  • 設定内容 :

    <param>
       <param-name>im.web_server.url</param-name>
       <param-value>http://<アクセス可能なホスト名>:<PORT></param-value>
    </param>
    
Webサービスモジュールを有効にするためには、ログイングループ管理者により、Webサービスアクセス設定を行う必要があります。
Webサービス接続用のロールとそのロールを付与したユーザを新規に作成し、Webサービスアクセス設定により以下のWebサービスに実行許可を与えてください。 (既存のユーザに権限を与えることも可能です。)
以下の2つのオペレーションに同じ権限を設定してください。
  • Webサービス名 : MenuService

  • オペレーション名 :

    1. getAvailableMenuTree
    2. getManagedMenuTree (patch7 以降で提供されます。)
メニュークライアントのシステム管理者に以下の情報を提供します。
Webサービス接続用エンドポイント
以下のフォーマットです。
http://<HOST>:<PORT>/<CONTEXT_PATH>/services/MenuService
Webサービス接続先ログイングループID メニュー情報を取得するログイングループのIDです。
Webサービス接続用ユーザコード 権限を与えられたユーザのユーザコードです。
Webサービス接続用ユーザパスワード 権限を与えられたユーザのパスワードです。

注意

intra-mart WebPlatform v7.2 patch6 では、外部メニューの表示順序を設定できません。
intra-mart WebPlatform v7.2 patch6 を利用する場合は、メニュークライアントの設定ファイルに「editable」オプションを設定しないようにしてください。

コラム

intra-mart Accel Platform のメニューから intra-mart WebPlatform のリンクをクリックした場合、intra-mart WebPlatform へのログインは自動的には行われません。
自動的にログインが行われるようにするためには、別途 SSO 製品の対応が必要です。
2014 Summer(Honoka) から、簡易的にSSOを実現するための機能(IM-HybridSSO)が追加されました。
IM-HybridSSO を利用する場合は、「 iAP-iWP間SSO連携(IM-HybridSSO) 」を参照してください。
IM-SecureSignOn for Accel Platform(以下 IM-SSO と記述します) は、intra-mart Accel Platform に対応した SSO 製品です。
intra-mart WebPlatform の patch6 以降では、IM-SSO を利用した場合に、外部メニュー連携のメニューから自動的にログインが行われるようにするための機能が提供されています。 この機能を有効にするためには、IM-SSO 導入後、以下の設定を行ってください。
<%ApplicationRuntime のインストールパス% /doc/imart/WEB-INF/web.xml> を修正します。
HTTPContextHandlingFilter の設定の直後に正しく設定を追加してください。設定箇所が間違っている場合、正常に動作しません。)
<filter>
    <filter-name>HTTPContextHandlingFilter</filter-name>
    <filter-class>jp.co.intra_mart.common.aid.jsdk.javax.servlet.filter.HTTPContextHandlingFilter</filter-class>
</filter>
<!-- ↓↓↓ 以下を追加 -->
<filter>
    <filter-name>AutoLoginFilter</filter-name>
    <filter-class>jp.co.intra_mart.foundation.security.filter.AutoLoginFilter</filter-class>
</filter>
<!-- ↑↑↑ ここまで --><filter-mapping>
    <filter-name>HTTPContextHandlingFilter</filter-name>
    <servlet-name>MenuServlet</servlet-name>
</filter-mapping>
<!-- ↓↓↓ 以下を追加 -->
<filter-mapping>
    <filter-name>AutoLoginFilter</filter-name>
    <servlet-name>MenuServlet</servlet-name>
</filter-mapping>
<!-- ↑↑↑ ここまで -->
以上の設定により、メニューURL(〜.menu)へのアクセス時に、VANADIS® Login Server で設定された Cookie 情報を参照して自動ログインを行います。
Cookie 情報が設定されている場合、 intra-mart WebPlatform で一般ユーザのログイン・ログアウトは実行できません。
必ず VANADIS® Login Server におけるログイン・ログアウトを実行してください。