浏览 5265 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-03-07
实现:django middleware非常适合这个要求,和java的filter差不多 from django.conf import settings from django.contrib import auth from datetime import datetime, timedelta from django.http import HttpResponse,HttpResponseRedirect class AutoLogout: def process_request(self, request): if request.path.startswith("/operate"): # print '***********************************************' if not request.user.is_authenticated() : auth.logout(request) return HttpResponseRedirect("/") if not request.user.is_authenticated() : return try: if datetime.now() - request.session['last_touch'] > timedelta( 0, settings.AUTO_LOGOUT_DELAY * 60, 0): auth.logout(request) del request.session['last_touch'] return except KeyError: pass request.session['last_touch'] = datetime.now() 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-04-28
在Java里的web.xml设置
<session-config> <session-timeout>30</session-timeout> </session-config> 超过这个时间就需要重新登录,不知道Django里面有没有类似的设置啊 而不是写代码来判断 |
|
返回顶楼 | |
发表时间:2008-04-29
可以在setting里面设置SESSION_COOKIE_AGE(单位:秒),缺省是两个星期。
|
|
返回顶楼 | |
发表时间:2008-06-11
我用的是基于数据库的session,怎么做到关闭浏览器后,session就失效?
|
|
返回顶楼 | |
发表时间:2008-06-25
建议
if request.path.startswith("/operate"): 改写成 if request.path.startswith("/operate/"): |
|
返回顶楼 | |
发表时间:2008-11-02
hama 写道 我用的是基于数据库的session,怎么做到关闭浏览器后,session就失效?
SESSION_EXPIRE_AT_BROWSER_CLOSE = True |
|
返回顶楼 | |
发表时间:2008-11-03
既然要登陆,怎么不用login_required啊
|
|
返回顶楼 | |
发表时间:2008-11-20
gonefish 写道 既然要登陆,怎么不用login_required啊 因为他要对于全部的view,而不是某个某几个,这样做代码高校些。 |
|
返回顶楼 | |