Re: RM2815: Relogin to pgAdmin from sqleditor/datadrid if session exprires

From: Dave Page <dpage(at)pgadmin(dot)org>
To: Harshal Dhumal <harshal(dot)dhumal(at)enterprisedb(dot)com>
Cc: pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: RM2815: Relogin to pgAdmin from sqleditor/datadrid if session exprires
Date: 2018-01-08 11:04:27
Message-ID: CA+OCxozcEGbWBJmwNAqvs4Ksm8NChXcUxEfZ9+KOXNzffbXmRQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

Hi

On Fri, Jan 5, 2018 at 7:50 AM, Harshal Dhumal <
harshal(dot)dhumal(at)enterprisedb(dot)com> wrote:

> Further details:
>
> 1. If session is expired and user performs any action from sqleditor that
> makes ajax call
> then in ajax error call back user can check and handle login related error
> using code snippet.
>
> if (pgAdmin.Browser.UserManagement.is_pga_login_required(xhr)) {
> return pgAdmin.Browser.UserManagement.pga_login();
> }
>
> Where is xhr is standard xhr or jqxhr object.
>
> 2. Similarly for connection lost (only maintenance db connection as we can
> recover or reconnect other
> connections if maintenance db connection is alive). It will attempt to
> create/reconnect connection without
> asking password (to handle passwordless connection, or saveed password or
> password from pgpass file)
> If connection to database still fails then it'll prompt for password.
>
> Code snippet:
> SqlEditorController.handle_connection_lost();
> once connection lost is detected one can call handle_connection_lost() to
> reconnect.
>
> 3. We maintain some additional data in session to maintain affinity between
> each sqleditor/datagrid instance to backend database connection. However
> if session expires and user
> re-loggins then we need to first restore affinity between sqleditor to
> backend database before we can start
> using query tool.
>
> Code snippet:
>
> if(is_new_transaction_required(xhr)) {
> SqlEditorController.init_transaction();
> }
>
> (note: I haven't looked at the code yet)

How does this handle re-establishment of the connection mid-transaction,
or, if the user has modified any session variables?

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Dave Page 2018-01-08 11:41:34 Re: [pgAdmin4][Patch]: Adding connection status in Query tool
Previous Message Murtuza Zabuawala 2018-01-08 09:54:27 [pgAdmin4][Patch#2902] To add ALT tags for images in pgAdmin4