Ошибка аутентификации Visualize.js после второго входа в систему

У меня есть веб-сайт, использующий Visualize.js, с простой функцией входа/выхода. Каждый раз, когда я вхожу в систему, я вызываю функцию 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 () {
        } );
    } )
}

Я хотел бы отметить, что когда я впервые вхожу в свою учетную запись, эта ошибка не возникает и отчеты отображаются идеально.

Почему это происходит после выхода из системы и повторного входа в систему?


person Monece Solis    schedule 29.05.2015    source источник


Ответы (2)


Кажется, это сработало для меня. Поэтому я сначала вызвал visualize.config( config ), чтобы сохранить общую конфигурацию, чтобы поделиться ею между вызовами визуализации, а затем вызвал метод входа в систему, чтобы я мог выполнить аутентификацию с помощью предоставленного объекта аутентификации. Моя ссылка: http://community.jaspersoft.com/wiki/visualizejs-api-notes-and-samples-v56

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

Этого решения не было в их документации, но я ставил их по частям, чтобы окончательно решить проблему.

person Monece Solis    schedule 02.06.2015

Документация содержала решение этой проблемы, хотя и не очень явное. См. пример кода и образец ссылки из ссылки на документацию.

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

Обмен общей конфигурацией между вызовами 'visualize'

Просто примечание: на самом деле, когда вы входите в систему, вам нужно выйти из системы при каком-то соответствующем событии. Это зависит от требований вашего приложения, например. если вы встраиваете отчеты в существующее веб-приложение, кажется более подходящим связать его с существующим входом в приложение / lougut

person M. Atif Riaz    schedule 08.07.2015
comment
Ссылка на существующий вход/выход из приложения несовместима, так как это не обязательно должно быть потоком для потери сеанса. Я использовал локальное хранилище для хранения информации о вошедшем в систему пользователе. После смены пользователя я вижу это через локальное хранилище, а затем сначала выхожу из системы, а затем вхожу в систему. Кроме того, это решение требует дополнительной проверки, открывает ли пользователь несколько вкладок с кодом аутентификации visualize.js одновременно. Может случиться так, что одна вкладка срабатывает при входе в систему, а в то же время другая вкладка срабатывает при выходе из системы. - person Minja; 21.04.2016