要求:“/operate”为受限制区域,要求必须登录;登录后若长时间不用,则自动logout
实现: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()
分享到:
- 2008-03-07 08:23
- 浏览 2592
- 评论(7)
- 论坛回复 / 浏览 (7 / 5265)
- 查看更多
相关推荐
在本项目中,我们主要探讨如何使用Python的Web框架Django来实现用户登录、注册功能,同时连接后台数据库,构建一个完整的主页,并加入忘记密码和验证码等增强安全性的重要特性。以下将详细介绍这些知识点: 1. ...
在这个名为"django登录注册实例代码.rar"的压缩包中,我们找到了一个使用Django实现用户登录和注册功能的示例项目。这个项目可能包括了创建用户模型、视图、模板以及URL配置等关键部分,帮助初学者理解Django框架...
在Django中,用户登录是任何网站的核心功能之一,它允许用户保存个性化设置、保护私有内容并确保数据安全。下面我们将深入探讨如何使用Python Django实现用户登录。 首先,Django 自带了一个强大的认证系统,称为`...
在本文中,我们将深入探讨如何使用Django框架来实现用户登录和注册功能,这对于任何Web应用程序来说都是核心组件。Django是一个用Python编写的高级Web框架,它鼓励快速开发和简洁实用的设计理念。 首先,我们需要...
在Python的Web开发框架Django中,Middleware(中间件)是一种强大的工具,它允许开发者插入自定义的行为到Django的请求处理流程中。标题提到的"django-middleware-global-request-0.2.0.tar.gz"是一个针对Django的...
自己尝试了一下,发现一个问题,当验证登陆成功后,页面会自动跳转到/account/profile,我并不想把页面跳转到这个页面,如何修改呢? 查了一堆网页,还是官网靠谱,很简单,就在project的setting里加一句话就Okay! ...
将这个中间件添加到`MIDDLEWARE`设置中,确保它在其他可能修改响应的中间件之前: ```python MIDDLEWARE = [ # ... 'myapp.middleware.JaegerMiddleware', # ... ] ``` 4. **在视图函数中使用**: 虽然...
因为改变的是全局,所以需要谨慎实用,用不好会影响到性能。 每个中间件都会负责一个功能,例如,AuthenticationMiddleware,与sessions处理相关。 激活中间件 需要在settings.py配置文件中,配置MIDDLEWARE_...
1. 高度集成化:Django包含了很多常用功能,如自动化ORM系统、Form系统、Cache系统、Routing、Middleware、Template系统等,这样就能够很方便的使用这些功能,不需要自己来实现这些底层的功能。 2. 自动化Admin管理...
如果登录成功,根据返回的响应数据,前端会将用户重定向到首页。 在Django的视图函数`view.py`中,实际处理这些请求的地方,开发者会定义相应的注册和登录逻辑,包括验证用户输入、创建或验证用户账户,以及生成...
而中间件(Middleware)是Django框架中的一种特殊组件,它位于视图函数和请求/响应之间,可以拦截、修改或处理请求和响应,实现诸如用户认证、日志记录、性能监控等多种功能。 **三、opencensus-ext-django-...
`django-user-language-middleware`则是其中一种特定类型的中间件,它的主要任务是根据用户的偏好设置动态调整网站的语言环境。这在多语言网站的开发中尤其重要,因为它能提供更优秀的用户体验,使用户能够直接看到...
Django提供了内置的`auth.views.LoginView`,这是一个处理用户登录的视图。你可以自定义模板来显示登录表单,或者使用Django提供的默认模板。登录过程通过`authenticate()`函数进行,该函数接受用户名和密码作为参数...
Django内置了用户认证和授权系统,包括用户模型、登录/注销、权限和组的管理。通过`django.contrib.auth`模块,可以轻松实现用户注册、登录验证等功能。 10. **静态文件与媒体文件**: Django处理静态文件(如CSS...
Django框架中的中间件(MiddleWare)是一种强大的工具,它允许开发者在请求处理流程的各个阶段插入自定义逻辑,从而扩展Django的功能。中间件在处理请求和响应时起到一个拦截器的作用,使得开发者能够在不修改视图或...
Django CMS是一种基于Python和Django的高级内容管理系统(CMS),它允许用户创建和管理动态网站内容。Django CMS用户文档是一个详细的指南,它为开发者提供了安装、配置、使用以及扩展Django CMS所需的各种信息。...
在Django框架中,Form是处理用户输入数据的重要工具,它简化了模型与视图之间的交互,使得数据验证和处理更加高效。本教程基于Django 1.6和Python 2.7.6,将详细介绍如何利用Form实现注册、登录、注销以及修改密码...
**PyPI 官网下载 | raygun_django_middleware-1.0.8-py2.py3-none-any.whl** PyPI(Python Package Index)是Python开发者常用的资源库,它提供了大量的第三方Python软件包,方便用户下载和安装。在本案例中,我们...
6. URL路由:Django的URL配置允许开发者将URL模式映射到特定的视图函数,使得用户可以通过URL访问不同的功能。在本项目中,可能有如`/register/`和`/login/`这样的URL,分别对应用户注册和登录的视图。 7. 表单处理...
**Django入门到放弃**,这是一段概括性的话语,暗示了从初识Django到深入学习的过程中可能会遇到的挑战。Django是一个基于Python的Web框架,它以其高效、安全和可扩展性著称,是许多开发者构建Web应用的首选工具。本...