Django projelerinizde oturum zaman aşımına göre tekrar giriş yaptırmak veya bilgi vermek siterseniz middleware ile her request ve respons eişlemi kontrol edilip, belirlenen süreden fazla zamanda işlem ypaılmadı ise çıkış yaptırılabilir.
/projeklasoru/uygulama/middleware.pyimport 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.pyMIDDLEWARE = [
'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'
]
Django
hakkında diğer konular