Я использую Pentaho, интегрированный с другим разработанным приложением.Я, например, использую Multi-Tenancy 1234 @ test, и я вхожу в pentaho через приложение, а не напрямую через экран входа в pentaho.Мы используем Nginx для прокси Pentaho.Проблема в том, что все пользователи авторизуются, кроме одного.У нас около 140 аккаунтов, и только один не может войти в систему.При попытке войти в систему появляется только пустая страница.
Я пытался удалить пользователя из базы данных Pentaho и снова включил.Я пытался изменить пароль пользователя.Я проверил, были ли введенные полномочия верны, так и было.Я обнаружил, что j_security_check блокирует вход в систему.Но я не знаю, почему Когда я пытаюсь войти в систему и нажать f12, я знаю, что он перенаправляет на страницу входа в pentahos, сообщая, что произошла ошибка входа в систему, но показывает только пустую страницу (например, нет, я не уверен).
Ничто не показывает в catalina.out.localhost_access_log:
[08/Jul/2019:07:48:44 -0300] "GET /pentaho/CacheExpirationService HTTP/1.0" 200 1469
[08/Jul/2019:07:48:44 -0300] "POST /pentaho/j_spring_security_check HTTP/1.0" 302 -
[08/Jul/2019:07:48:44 -0300] "GET /pentaho/Login?login_error=1 HTTP/1.0" 200 7800
Это все, что я получаю из журналов.Мой пользователь находится в базе данных Pentaho.
Файл nginx:
location /pentaho/ {
proxy_pass http://IP_PENTAHO:8080/pentaho/;
}
Функция pentado doLogin () в PUCLogin.jsp:
function doLogin() {
// if we have a valid session and we attempt to login on top of it, the server
// will actually log us out and will not log in with the supplied credentials, you must
// login again. So instead, if they're already logged in, we bounce out of here to
// prevent confusion.
if (<%=loggedIn%>) {
bounceToReturnLocation();
return false;
}
jQuery.ajax({
type: "POST",
url: "j_spring_security_check",
dataType: "text",
data: $("#login").serialize(),
error:function (xhr, ajaxOptions, thrownError){
if (xhr.status == 404) {
// if we get a 404 it means login was successful but intended resource does not exist
// just let it go - let the user get the 404
bounceToReturnLocation();
return;
}
//Fix for BISERVER-7525
//parsereerror caused by attempting to serve a complex document like a prd report in any presentation format like a .ppt
//does not necesarly mean that there was a failure in the login process, status is 200 so just let it serve the archive to the web browser.
if (xhr.status == 200 && thrownError == 'parsererror') {
document.getElementById("j_password").value = "";
bounceToReturnLocation();
return;
}
// fail
$("#loginError").show();
$("#loginError button").focus();
},
success:function(data, textStatus, jqXHR){
if (data.indexOf("j_spring_security_check") != -1) { # HERE I GOT 1596, NOT -1
// fail
$("#loginError").show();
$("#loginError button").focus();
return false;
} else {
document.getElementById("j_password").value = "";
bounceToReturnLocation();
}
}
});
return false;
}
Как я уже сказал, этоединственный пользователь, который не может войти, и я не понимаю, почему.База данных, которую я использую в Пентахо, - Postgresql.
Надеюсь, вы, ребята, сможете мне помочь, спасибо за советы.С наилучшими пожеланиями