Django projelerinizde oturumun zaman aşımına göre tekrar giriş yaptırmak veya bilgi vermek için middleware ile her request ve response işlemi kontrol edilip, belirlenen süreden fazla zamanda işlem yapılmadıysa çıkış yaptırabilirsiniz.
/projeklasoru/uygulama/middleware.py
import time
from django.contrib import messages
from django.contrib.auth import logout
from django.utils.translation import ugettext as _
OTURUM_ZAMAN_ASIM_SURESI = 10
class OturumZamanAsimiKontrol:
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
if request.user.is_authenticated:
gecerli_zaman = int(time.time())
try:
request.session['last_activity']
except:
request.session['last_activity'] = gecerli_zaman
if (gecerli_zaman - request.session['last_activity']) >= OTURUM_ZAMAN_ASIM_SURESI:
logout(request)
messages.add_message(request, messages.ERROR, _('Oturumunuz zaman aşımına uğradı!'))
else:
request.session['last_activity'] = gecerli_zaman
response = self.get_response(request)
return response
projeklasoru/projeklasoru/settings.py
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'uygulama.middleware.OturumZamanAsimiKontrol'
]
Her bütçeye uygun profesyonel linux hosting paketlerimiz için tıklayabilirsiniz.
Bilgi bankasını detaylı olarak incelediniz, fakat ihtiyacınız olan bilgiyi bulamıyorsanız,
Bir Destek Talebi Oluşturun.