1

現在、ICCube システムからレポートにアクセスするための WebApp を作成中です。アプリケーション ページは、IcCube サーバーとは異なるサーバーでホストされています。サーバーは現在、ローカル Apache サーバー (xampp) であり、Basic Auth を使用してユーザーを認証してから、htdocs にアクセスします。icCube の内部認証がレポートへのアクセスを管理している間に、Apache が認証を行い、必要なログインは 1 回だけであることを望みます。

私のアプリケーションは、IcCube が提供するWeb レポートのライブ デモに基づいています。したがって、明示的な JavaScript 認証を使用しています (ic3.getDemoDataSourceSettings() を介してデモ ユーザー データを取得しています)。

この問題についてIcCube のドキュメントを調べてみたところ、以前と同じように混乱しました。Apache 構成の関連ページには、Apache と icCube の可能な構成がリストされていますが、どちらを使用すべきか (利点と欠点) がわかりません。また、それらすべてがサーバーのセットアップで機能するかどうかもわかりません。

  1. Apache 構成の概要: サーバー構成でこれらのプロキシ パラメータを設定すると、正確には何が IcCube に転送されますか?
  2. icCube 認証サーブレット フィルター: この構成抽出は IcCube または Apache に属しますか? これらのフィルターは正確に何をしているのでしょうか?

問題に関するヘルプや、より詳細なドキュメントへのポインタをいただければ幸いです。

4

1 に答える 1

1

Web アプリケーション (つまり Apache) は、icCube のレポートへのアクセスに関連する呼び出しを転送する必要があります。たとえば、次のように icCube に関連するすべてを転送するように Apache を構成できます。

<VirtualHost *:80>
ServerName your.domain.com

ProxyRequests Off

<Proxy *>
Order deny,allow
Allow from all
</Proxy>

ProxyPass        /icCube http://your-ip:8383/icCube
ProxyPassReverse /icCube http://your-ip:8383/icCube

</VirtualHost>

次に、Apache と icCube 間の通信は、icCube 構成 (icCube.xml) の一部であるサーブレット フィルターを使用して保護されます。

IcCubeApacheAuthenticationServletFilter
IcCubeApacheGwtAuthenticationServletFilter

最初のフィルターは、GWT 以外のすべてのサービスに使用できます。GWTの場合、2番目のものを使用できます。可能性のある icCube.xml の抜粋を次に示します。

<xmlaComponentConfiguration>
    <!--<tcpPortNumber>8484</tcpPortNumber>-->
    <httpUrl>/icCube/xmla</httpUrl>
    <enableHttpCompression>true</enableHttpCompression>
    <filter>XMLA (Apache) Authentication</filter>
</xmlaComponentConfiguration>

<gwtServiceComponentConfiguration>
    <enableFileDownloadCompression>true</enableFileDownloadCompression>
    <filter>GWT (Apache) Authentication</filter>
</gwtServiceComponentConfiguration>

<reportingComponentConfiguration>
    <url>/icCube/doc/*</url>
    <enableCompression>true</enableCompression>
    <filter>Report Authentication</filter>
</reportingComponentConfiguration>

<gviComponentConfiguration>
    <url>/icCube/gvi</url>
    <enableCompression>true</enableCompression>
    <filter>GVI Authentication</filter>
    <filter>GVI Authentication (logout)</filter>
</gviComponentConfiguration>

<filterConfiguration>
    <filter>
        <filter-name>XMLA (Apache) Authentication</filter-name>
        <filter-class>crazydev.iccube.server.authentication.IcCubeApacheAuthenticationServletFilter</filter-class>
    </filter>
    <filter>
        <filter-name>GWT (Apache) Authentication</filter-name>
        <filter-class>crazydev.iccube.server.authentication.IcCubeApacheGwtAuthenticationServletFilter</filter-class>
    </filter>
    <filter>
        <filter-name>Report Authentication</filter-name>
        <filter-class>crazydev.iccube.server.authentication.IcCubeApacheAuthenticationServletFilter</filter-class>
    </filter>
    <filter>
        <filter-name>GVI Authentication</filter-name>
        <filter-class>crazydev.iccube.server.authentication.IcCubeApacheAuthenticationServletFilter</filter-class>
        <init-param>
            <param-name>anonymousLogon</param-name>
            <param-value>false</param-value>
        </init-param>
    </filter>
    <filter>
        <filter-name>GVI Authentication (logout)</filter-name>
        <filter-class>crazydev.iccube.server.authentication.IcCubeGviLogoutAuthenticationServletFilter</filter-class>
    </filter>
</filterConfiguration>

それが役立つことを願っています。

于 2015-11-23T08:39:31.093 に答える