X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

Türk Lirası $ US Dollar
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

Türk Lirası $ US Dollar
Yıllık Satın Alımlarda %15 İndirim: Şimdi Tasarruf Edin! Detaylı Bilgi İçin Tıklayın!

Bilgi Bankası

AnasayfaBilgi BankasıGenelDjango Oturum Zaman Aşımı

Django Oturum Zaman Aşımı

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.

Aradığınız Bilgiyi Bulamıyor musunuz?

Bilgi bankasını detaylı olarak incelediniz, fakat ihtiyacınız olan bilgiyi bulamıyorsanız,

Bir Destek Talebi Oluşturun.
Faydalı Buldunuz mu?
(100 defa görüntülendi. / 0 kişi faydalı buldu.)