I am using Pentaho integrated with other app developed. I am using Multi-Tenancy 1234@test, for example, and I login in pentaho through the app, not directly by pentaho login screen. We use Nginx to Proxy Pentaho. The problem is: All the users login except one. We have around 140 accounts and only one can't do the login. When a try to login a only get a blank page.
I tried to remove the user from pentaho DB and re-included. I tried to change the user password. I checked if the credential passed were right, it were. I discovered that j_security_check is blocking the login. But I dont know why When try to login and press f12, I know it's redirect to pentahos login page saying that occurred a login error, but show only a blank page.(like a display none, im not sure).
Nothing shows in catalina.out. localhost_access_log:
[08/Jul/2019:07:48:44-0300]"GET /pentaho/CacheExpirationService HTTP/1.0"2001469
[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"2007800
This is all I get from the logs. My user is in pentaho DB.
nginx file:
location /pentaho/{
proxy_pass http://IP_PENTAHO:8080/pentaho/;
}pentado doLogin()
function in 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();
returnfalse;
}
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();
returnfalse;
}else{
document.getElementById("j_password").value ="";
bounceToReturnLocation();
}
}
});
returnfalse;
}
Like I said, this is the only user that cant login, and I'm not figuring out why. The DB i'm using in pentaho is Postgresql.
I hope you guys can help me out, thanks in advice. Best regards
I tried to remove the user from pentaho DB and re-included. I tried to change the user password. I checked if the credential passed were right, it were. I discovered that j_security_check is blocking the login. But I dont know why When try to login and press f12, I know it's redirect to pentahos login page saying that occurred a login error, but show only a blank page.(like a display none, im not sure).
Nothing shows in catalina.out. localhost_access_log:
[08/Jul/2019:07:48:44-0300]"GET /pentaho/CacheExpirationService HTTP/1.0"2001469
[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"2007800
This is all I get from the logs. My user is in pentaho DB.
nginx file:
location /pentaho/{
proxy_pass http://IP_PENTAHO:8080/pentaho/;
}pentado doLogin()
function in 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();
returnfalse;
}
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();
returnfalse;
}else{
document.getElementById("j_password").value ="";
bounceToReturnLocation();
}
}
});
returnfalse;
}
Like I said, this is the only user that cant login, and I'm not figuring out why. The DB i'm using in pentaho is Postgresql.
I hope you guys can help me out, thanks in advice. Best regards