sessions: unlog inactive users (#42428)

This commit is contained in:
Benjamin Dauvergne 2020-07-07 16:09:30 +02:00 committed by Frédéric Péters
parent 612bfb1ea1
commit f2e8550997
2 changed files with 12 additions and 3 deletions

View File

@ -208,3 +208,11 @@ def test_session_clean_job(pub, user, app, freezer):
freezer.move_to(datetime.datetime.now() + datetime.timedelta(5)) # last usage limit
pub.clean_sessions()
assert pub.session_manager.session_class.count() == 0
def test_inactive_user(pub, user, app):
login(app, username='foo', password='foo')
assert 'Logout' in app.get('/')
user.is_active = False
user.store()
assert 'Logout' not in app.get('/')

View File

@ -215,12 +215,13 @@ class Session(QommonSession, CaptchaSession, StorableObject):
user.anonymous = True
user.name_identifiers = [ self.name_identifier ]
user.lasso_dump = self.lasso_anonymous_identity_dump
return user
else:
try:
return get_publisher().user_class.get(user_id)
user = get_publisher().user_class.get(user_id)
except KeyError:
pass
return None
if user.is_active:
return user
return None
def set_user(self, user_id):