Thank you Anthony as always very clear explanations.

:)

Richard

On Wed, Apr 4, 2018 at 5:19 PM, Anthony <abasta...@gmail.com> wrote:

> This behavior is controlled by the following auth.settings:
>
> renew_session_onlogin (default=True)
> keep_session_onlogin (default=True)
> renew_session_onlogout (default=True)
> keep_session_onlogout (default=False)
>
> Renewing the session causes a new session ID and therefore file to be
> created -- that explains why the new files are created on both login and
> logout.
>
> Keeping the session means that the content of the session is retained when
> the session is renewed. If keep is set to False, then the old file is
> deleted when the session is renewed (but the old file is not deleted when
> the keep is set to True). That explains why the old file is deleted on
> logout but not on login (given the above noted defaults). I believe this
> should probably be considered a bug -- the old file should be deleted in
> either case (the problem is that in the code, the file deletion happens in
> the same method that clears the session data, and of course that method is
> not called when the session is kept). Feel free to file a Github issue
> about this and refer back to this thread.
>
> For now, if you don't need to retain any session data upon login (i.e.,
> session data stored before login does not need to remain available once
> logged in), then you can set auth.settings.keep_session_onlogin=False,
> and the old session file will be deleted upon login (so, at any given time,
> there will be only one session file for a given user session).
>
> Alternatively, of course you can set either or both of the renew_session_*
> settings to False, and no additional session files will be created on login
> or logout.
>
> Anthony
>
> On Tuesday, April 3, 2018 at 1:01:21 PM UTC-4, AlighaThor wrote:
>>
>> Hi. I'm experimenting for the first time (but I'm quite a bit old using
>> this amazing framework :)) storing sessions in the DB instead the
>> filesystem, as I always did. I'm monitoring those two behaviours and
>> somehow it feels (at least for me) that the DB session handling is far away
>> more efficient/manteinable than the filesystem session handling.
>>
>> Look at this:
>>
>> *When using the filesystem handling:*
>>
>> 1 - I go to my login form. A session file is created (for the form key I
>> suposse.).
>>
>>
>>
>> <https://lh3.googleusercontent.com/-XuyY5NjIj84/WsOrJi80XoI/AAAAAAAAJNY/AeC-np_I7nwI5nEmROgdityYm1iT9C1MwCLcBGAs/s1600/Selecci%25C3%25B3n_001.png>
>>
>>
>> 2 - Then I finally log in. Another session file is created.
>>
>>
>> <https://lh3.googleusercontent.com/-X8v1EkS5fVU/WsOsCi-9ydI/AAAAAAAAJNg/liAouwwWmGwn3HGJMVpm5fsKHD_b9mhAwCLcBGAs/s1600/Selecci%25C3%25B3n_002.png>
>>
>>
>> 3 - Next I log out. A new file is created or somehow "moved" or "deleted"
>> from the directory "165".
>>
>>
>> <https://lh3.googleusercontent.com/-ykV8jYicHYY/WsOtBvqRv2I/AAAAAAAAJNs/pX1tGT2RkOIWvPDKcImOXh3EQmd_oX-6ACLcBGAs/s1600/Selecci%25C3%25B3n_003.png>
>>
>> 4 - Next I log in again. This time my form action did not create any new
>> file, but a new one after the log in.
>>
>>
>> <https://lh3.googleusercontent.com/-UF1sObfrZYc/WsOtq17PO9I/AAAAAAAAJN0/55bIXzkhQUEMIKdPiOuFte8mGhMA6xwSwCLcBGAs/s1600/Selecci%25C3%25B3n_004.png>
>>
>>
>> 5 - Everything is repeated again. I log out, then a new file is created.
>>
>>
>> *Now let's see the DB behaviour:*
>>
>>
>> 1 - Login form. A session record is created.
>>
>>
>>
>> <https://lh3.googleusercontent.com/-QoMpV4-yUjg/WsOvRbUVP6I/AAAAAAAAJOA/M3fiTKl54AkqYjRkdvTT9vvCLuDBoZa6QCLcBGAs/s1600/Selecci%25C3%25B3n_005.png>
>>
>>
>> 2 - I log in. The same record remains, but instead, as we expect, the
>> unique_key is updated.
>>
>>
>> <https://lh3.googleusercontent.com/-ljm82srMLEY/WsOvv9pkAFI/AAAAAAAAJOE/TXEuIIOAISEUyECO6AzbZc_5i1Kc98fNgCLcBGAs/s1600/Selecci%25C3%25B3n_006.png>
>>
>> 3 - I log out. Again, the record remains and the unique_key field is
>> updated.
>>
>>
>>
>> <https://lh3.googleusercontent.com/-rPQY5jo7-Fk/WsOwUljKf2I/AAAAAAAAJOU/1w1KaZJnXQYYHeI4G6dliSb4rr1OBgF0QCLcBGAs/s1600/Selecci%25C3%25B3n_007.png>
>>
>>
>> (Updated: My bad, after the log out, the record is deleted and a new one
>> is created. I did'nt notice the new ID "17".)
>>
>>
>> Whatever I do, only one record is stored according my session origin (IP,
>> Browser, etc) and this remains true until my session expires or is deleted.
>>
>> Maybe I'm talking nonesenses, but it is feel "better" to me, having a
>> "true one instance per session", using the DB, that many files/folders
>> created over and over again related to the same origin using the filesystem.
>>
>> What I am missing here?
>> Is this the normal/expected behaviour when the default FS session
>> handling is used?
>> Can we consider that is more performant using the DB alternative that the
>> FS one?
>>
>> BTW: It seems that the admin option to "cleanup" only clear the sessions
>> store in the filesystem, not the DB alternative.
>>
>> Thanks for reading!
>>
> --
> Resources:
> - http://web2py.com
> - http://web2py.com/book (Documentation)
> - http://github.com/web2py/web2py (Source code)
> - https://code.google.com/p/web2py/issues/list (Report Issues)
> ---
> You received this message because you are subscribed to the Google Groups
> "web2py-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to web2py+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to