Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
vegard_bakke
Partner - Creator III
Partner - Creator III

"Failed to open document, You don't have access to this document." when document times out

We have integrated SSO to our server, which works nicely.  However, whenever the QlikView session times out, we get the faul error message in an alert popup window:

    Failed to open document, You don't have access to this document.

Which is not just annoying, but also gives the user the incorrect error message.

Is there a way to either configure a redirect url when document times out, or as an alternative change the error message telling the user to close the window and open QlikView again?

Best regards,

Vegard Bakke

Labels (1)
1 Solution

Accepted Solutions
vegard_bakke
Partner - Creator III
Partner - Creator III
Author

It's amazing how often the process of asking the question gives you new insight and new ideas! 

The QvAjax.js contains:

Qva.NavigateToLoginPageIfAny = function() {

    var a = Qva.QvAjaxZfcPath + "GetLoginpageUrl.aspx";

    var c = Qva.GetXHRObject();

    c.open("Get", a, false);

    try {

        c.send(null)

    } catch (d) {}

    var b = (200 <= c.status && c.status < 300) || c.status == 1223;

    if (b) {

       if (c.responseText.toLowerCase().indexOf("qlikview/login.htm") < 0) {

            window.location = c.responseText + "?opendocqs=" + Qva.EncodeComponent(window.location.search);

            return true

        }

    }

    return false

};

Meaning, if your Custom Login page in QMC - System Authentication contains "qlikview/login.htm" somewhere, QlikView will skip redirecting you to the Login page.

Thus, by changing the URL for our third party login page, the redirect suddenly worked.

View solution in original post

4 Replies
Kushal_Chawda

see this link to terminate the session

Document Extension to Terminate an AJAX Session

vegard_bakke
Partner - Creator III
Partner - Creator III
Author

Thank you for to very quick responses.  However, extending the QlikView timeout is not the correct solution for me. Having external users, we don't want to fill up the QlikView server with inactive  user session, both regards to licenses and system resources.  And whatever timeout I set, some users will still go beyond.


As for terminating the ajax session, that is a brilliant idea to cut down on licenses and system resources for the users that go away, but does not solve the problem for the users that linger and hang around inactively.

Preferably I would like to redirect users to the "SSO redirect page" so that they get back into QlikView, with a little delay. 

I see in my Chrome log, that /QvAjaxZfc/GetLoginpageUrl.aspx is being called, returning /qlikview/login.htm. But I cannot see that my browser tries to go there.

vegard_bakke
Partner - Creator III
Partner - Creator III
Author

It's amazing how often the process of asking the question gives you new insight and new ideas! 

The QvAjax.js contains:

Qva.NavigateToLoginPageIfAny = function() {

    var a = Qva.QvAjaxZfcPath + "GetLoginpageUrl.aspx";

    var c = Qva.GetXHRObject();

    c.open("Get", a, false);

    try {

        c.send(null)

    } catch (d) {}

    var b = (200 <= c.status && c.status < 300) || c.status == 1223;

    if (b) {

       if (c.responseText.toLowerCase().indexOf("qlikview/login.htm") < 0) {

            window.location = c.responseText + "?opendocqs=" + Qva.EncodeComponent(window.location.search);

            return true

        }

    }

    return false

};

Meaning, if your Custom Login page in QMC - System Authentication contains "qlikview/login.htm" somewhere, QlikView will skip redirecting you to the Login page.

Thus, by changing the URL for our third party login page, the redirect suddenly worked.