I use smartGWT v4.1-p_2014-09-07/PowerEdition firefox 34.0.5
In my entrypoint class on onModuleLoad() i perform a fetch to the loginDatasource to see if the user is logged in.
if this is the case, i render the mainLayout layout and if not, i pop up a new LoginWindow with a simple login form.
When the user wants to logout i destroy the mainLayout & call the onModuleLoad function.
i would like to detect if there is a session timeout in order to perform a system logout automatically. The RPCManager.setLoginRequiredCallback, that i have placed in onModuleLoad is not detected.
How can i achieve that?
Thank you very much for your help!
----------- My onModuleLoad function--------
In my entrypoint class on onModuleLoad() i perform a fetch to the loginDatasource to see if the user is logged in.
if this is the case, i render the mainLayout layout and if not, i pop up a new LoginWindow with a simple login form.
When the user wants to logout i destroy the mainLayout & call the onModuleLoad function.
i would like to detect if there is a session timeout in order to perform a system logout automatically. The RPCManager.setLoginRequiredCallback, that i have placed in onModuleLoad is not detected.
How can i achieve that?
Thank you very much for your help!
----------- My onModuleLoad function--------
Code:
public void onModuleLoad() { KeyIdentifier debugKey = new KeyIdentifier(); debugKey.setCtrlKey(true); debugKey.setKeyName("D"); Page.registerKey(debugKey, new KeyCallback() { public void execute(String keyName) { SC.showConsole(); } }); RPCManager.setLoginRequiredMarker("<SCRIPT>//'\\\"]]>>isc_loginRequired"); RPCManager.setLoginRequiredCallback(new LoginRequiredCallback() { @Override public void loginRequired(int transactionNum, RPCRequest rpcRequest, RPCResponse rpcResponse) { SC.say("--session expired--"); } }); UBICroppermainLayout.setBackgroundImage("UBICropperHeaderLogoTransparent.png"); UBICroppermainLayout.draw(); DSRequest dsRequestProperties = new DSRequest(); dsRequestProperties.setOperationId("isloggedin"); loginDataSource.fetchData(null, new DSCallback() { @Override public void execute(DSResponse dsResponse, Object data, DSRequest dsRequest) { String iduser = dsResponse.getAttribute("iduser"); if (!dsResponse.getAttribute("isloggedin").equalsIgnoreCase("true")) { loginWindow = new LoginWindow(); } else { UBICroppermainLayout.setBackgroundImage(""); renderMainLayout(dsResponse.getAttribute("roles"), dsResponse.getAttribute("idprovincia"), dsResponse.getAttribute("username"), iduser); } } }, dsRequestProperties); } //onModuleLoad
Comment