3

簡単なログイン/ログアウト機能を備えた、Visualize.jsを使用した Web サイトがあります。ログインするたびに、authenicateUser()関数を呼び出してログアウトしますdestroySession()。ログインしてからログアウトしてから再度ログインしようとすると、既存のレポートをレンダリングしようとすると、次のエラーがスローされます。

HTTP Status 401 - Full authentication is required to access this resource

関数authenicateUser()destroySession()を以下に示します。

function authenticateUser () {
    var myConfig = {
        auth : {
            name     : "superuser",
            password : "superuser"
        }
    };
    visualize.config( myConfig );
}

function destroySession() {
    visualize( function ( v ) {
        // Logout form JRS and finish the session.
        v.logout().done( function () {
        } );
    } )
}

アカウントに初めてログインしたとき、このエラーはスローされず、レポートが完全にレンダリングされることを指摘したいと思います。

ログアウトしてから再度ログインした後にこれが発生するのはなぜですか?

4

2 に答える 2

5

これは私にとってはうまくいったようです。そのため、最初にvisualize.config( config )を呼び出して、共通の構成を保存し、それらを視覚化呼び出し間で共有してから、login メソッドを呼び出して、提供された認証オブジェクトで認証を実行できるようにしました。私の参照: http://community.jaspersoft.com/wiki/visualizejs-api-notes-and-samples-v56

        visualize.config( config );
        visualize( function ( v ) {
            v.login( config );
        } );

この解決策は彼らのドキュメントにはありませんでしたが、最終的に問題を解決するためにそれらを少しずつ入れました。

于 2015-06-02T16:07:20.703 に答える
1

ドキュメントにはこの問題の解決策が含まれていましたが、あまり明示的ではありません。ドキュメントリンクからサンプルコードとサンプルリンクを参照してください

visualize.config({
  auth: {
      name: "superuser",
      password: "superuser"
  }
});

「visualize」呼び出し間で共通の構成を共有する

注意: 実際にログインするときは、適切なイベントでログアウトする必要があります。これは、アプリケーションの要件によって異なります。たとえば、既存の Web アプリケーション内にレポートを埋め込む場合は、既存のアプリケーション ログイン/ラウグットにリンクする方が適切と思われます。

于 2015-07-08T20:31:16.723 に答える