Opened 12 years ago
Closed 12 years ago
#469 closed enhancement (fixed)
Better handling of login timeout in Reggie wizards
Reported by: | Nicklas Nordborg | Owned by: | Nicklas Nordborg |
---|---|---|---|
Priority: | major | Milestone: | Reggie v2.12 |
Component: | net.sf.basedb.reggie | Keywords: | |
Cc: |
Description
Some of the Reggie wizards may take some time to complete, for example, the partition wizard. Even though BASE has been designed to keep the user logged in as long as the browser is open, there are cases when this is not working. Trying to finalize the registration in Reggie will in this case results in a confusing situation. The registration form is disabled and greyed out, but there is no message about either successful or failed registration.
Behind the scenes the Ajax request for saving the information is redirected to the login page which, of course, can't be displayed since this is a non-interactive process.
Fortunately, the partition wizard remember all values and is capable of recovering from this scenario if the user starts a new session. But this may not be the case for other wizards.
Possible solutions to this problem:
- Implement a session keep-alive feature in Reggie that is able to perform better than the one in BASE. This could use Ajax requests and
setTimeout
calls in javascript. This should not be too difficult. - Implement a feature to check if a user is logged in or not. Then, present an interface to login again if needed. Requires a bit more work.
- A combination of the above.
Change History (2)
comment:1 by , 12 years ago
Milestone: | Reggie v2.x → Reggie v2.12 |
---|---|
Status: | new → assigned |
comment:2 by , 12 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
(In [1897]) Fixes #469: Better handling of login timeout in Reggie wizards
A background timer is started by calling the javascript method
keepSessionAlive()
in pages that need protection. The timer uses Ajax calls toSessionServlet
to check if the session is still alive and update the last access time to prevent automatic timeout. In debug mode, a checkbox is appended to the bottom of the page which can be used to simulate a session timeout (actually, a real logout is done). This should trigger a popup window that asks the user to login again. Data in the wizard should be unaffected and it should be possible to proceed as usual once the login has been completed.This feature has currently been added to the following wizards: