修改账户系统以及部分用户权限写法
增加部分测试和注释,完善国际化
This commit is contained in:
@@ -2,20 +2,23 @@
|
||||
import time
|
||||
import json
|
||||
import urllib
|
||||
|
||||
from django.http import HttpResponseRedirect, HttpResponse
|
||||
from django.utils.translation import ugettext as _
|
||||
from django.contrib import auth
|
||||
from .models import ADMIN
|
||||
|
||||
from .models import AdminType
|
||||
|
||||
|
||||
class SessionSecurityMiddleware(object):
|
||||
def process_request(self, request):
|
||||
if request.user.is_authenticated() and request.user.admin_type >= ADMIN:
|
||||
if request.user.is_authenticated() and request.user.admin_type in [AdminType.ADMIN, AdminType.SUPER_ADMIN]:
|
||||
if "last_activity" in request.session:
|
||||
# 24个小时没有活动
|
||||
# 24 hours passwd since last visit
|
||||
if time.time() - request.session["last_activity"] >= 24 * 60 * 60:
|
||||
auth.logout(request)
|
||||
if request.is_ajax():
|
||||
return HttpResponse(json.dumps({"code": 1, "data": u"请先登录"}),
|
||||
return HttpResponse(json.dumps({"code": 1, "data": _("Please login in first")}),
|
||||
content_type="application/json")
|
||||
else:
|
||||
return HttpResponseRedirect("/login/?__from=" + urllib.quote(request.path))
|
||||
|
||||
Reference in New Issue
Block a user