def__call__(self,request):ifrequest.userisnotNoneandrequest.user.is_authenticated:ifisinstance(request.session.get("login_time",None),float):if(request.user.last_global_logout_timeisnotNoneandrequest.session["login_time"]<request.user.last_global_logout_time.timestamp()):# This is how global logouts work for non-trusted sessions. We automatically log the user out if the user's most recent global# logout happened since the time they logged in (in this session).logout(request)time_since_login=time.time()-request.session["login_time"]iftime_since_login>=30*24*60*60:# Force logout after 30 days, even for trusted sessionsTrustedSession.objects.filter(user=request.user,session_key=request.session.session_key).delete()logout(request)else:ifrequest.user.last_global_logout_timeisnotNone:# If the user has performed a global logout, all of their sessions must have a login_time setlogout(request)else:# Otherwise, having a value is more important than it being 100% accuraterequest.session["login_time"]=time.time()returnself.get_response(request)