Skip to content
Open
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions session_security/middleware.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,10 @@

from datetime import datetime, timedelta

from django.contrib import messages
from django.contrib.auth import logout
from django.core.urlresolvers import reverse, resolve, Resolver404
from django.views import defaults

try:
from django.utils.deprecation import MiddlewareMixin
Expand Down Expand Up @@ -62,7 +64,11 @@ def process_request(self, request):
delta = now - get_last_activity(request.session)
expire_seconds = self.get_expire_seconds(request)
if delta >= timedelta(seconds=expire_seconds):
request._messages._queued_messages = []
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is this for ?

messages.info(request, 'Your session has expired (%s). Please login again.' % delta)
logout(request)
if request.is_ajax():
return defaults.http.HttpResponseForbidden('403 Forbidden: %s' % msg, content_type='text/html')
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what's that supposed to do

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If session is expired, a ajax call will get the righ feedback information. That's response.responseText will be '403 Forbidden: %s' % msg

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

makes sense

elif (request.path == reverse('session_security_ping') and
'idleFor' in request.GET):
self.update_last_activity(request, now)
Expand Down