Other storages doesn’t need it.

cached_db inherits DbStorage 
https://github.com/django/django/blob/master/django/contrib/sessions/backends/cached_db.py#L17

and of course have implemented same clear_expired.

signed_cookies uses cookie expiring i think (not checked).

and cache storages uses caching expiring features.

I think dependency of user_id must not be in core, not all storages can 
implement api (find all sessions of user for example) for this feature simple 
(file based sessions for example. You will need to process all sessions or use 
some type of meta file with dependencies). This is application level feature, 
not framework. I think you can simple implement your session database backend 
with this feature (don’t forget on user login/logout change user_id) included 
and share for community if nobody did it already :)

-- 
Alexandr Shurigin

From: Ulupov (Vaal) Vladimir vaal...@gmail.com
Reply: django-developers@googlegroups.com django-developers@googlegroups.com
Date: 20 июня 2014 г. at 0:06:45
To: django-developers@googlegroups.com django-developers@googlegroups.com
Cc: vaal...@gmail.com vaal...@gmail.com
Subject:  Re: no relationship between session and user model  

This relation is not possible out of the box if we want to have highly 
customizable framework :)
But backends already have differences.
For example: only two implemented a method clear_expired 
https://github.com/django/django/blob/master/django/contrib/sessions/backends/file.py#L190
https://github.com/django/django/blob/master/django/contrib/sessions/backends/db.py#L81

How such a relationship may limit customizable? btw it's maybe as option...



четверг, 19 июня 2014 г., 20:40:14 UTC+4 пользователь Alexandr Shurigin написал:
Interesting question. Really django provides few sessions backends by default 
and only 2 of them store any session info in database (db, cached_db). All 
other backends save session info in various cache storages like memcache, 
redis, files, local cache, etc. Right now sessions built as a part of http 
protocol only, not user level.

This relation is not possible out of the box if we want to have highly 
customizable framework :)

Don’t worry, my english is ugly too ;)

-- 
Alexandr Shurigin

From: Vaal vaa...@gmail.com
Reply: django-d...@googlegroups.com django-d...@googlegroups.com
Date: 19 июня 2014 г. at 23:36:28
To: django-d...@googlegroups.com django-d...@googlegroups.com
Subject:  no relationship between session and user model

Hello!
There is a reason why in the framework (by default), there is no connection 
between the models user and session?
I mean ForeignKey(to User) in Session model for example.

This would be useful in a situation when the user changes the password, and we 
could remove all the sessions of that user.
For example the user changes the password because he believes that pass has 
been compromised. But if the attacker was already has active session - it will 
not be interrupted.

p.s. sorry for my English
p.p.s. I understand that can modify the application sessions for their needs 
and make a new application or to find a ready-made.
--
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-develop...@googlegroups.com.
To post to this group, send email to django-d...@googlegroups.com.
Visit this group at http://groups.google.com/group/django-developers.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-developers/8ac582df-e1f1-4619-863c-134cadefc405%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-developers+unsubscr...@googlegroups.com.
To post to this group, send email to django-developers@googlegroups.com.
Visit this group at http://groups.google.com/group/django-developers.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-developers/848d8356-2614-4fc3-a20e-18b69786fda4%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-developers+unsubscr...@googlegroups.com.
To post to this group, send email to django-developers@googlegroups.com.
Visit this group at http://groups.google.com/group/django-developers.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-developers/etPan.53a31b45.836c40e.15a%40MacBook-Pro-dude.local.
For more options, visit https://groups.google.com/d/optout.

Reply via email to