跳转到主要内容

Django基于认证的会话过期

项目描述

一个Django应用,提供基于认证的会话过期功能。

要将此应用安装到您的项目中,首先将其添加到您的INSTALLED_APPS设置(并运行manage.py syncdb

INSTALLED_APPS = (
    ...
    'django_expire',
)

接下来,将过期中间件添加到您的MIDDLEWARE_CLASSES设置中,将其放置在sessionauth中间件之后。

MIDDLEWARE_CLASSES = (
    ...
    'django_expire.middleware.ExpireMiddleware',
)

功能

对于每个经过认证的用户请求,都会运行一个检查以确保属于用户的其他会话数量不超过允许的最大值。

默认情况下,此最大值为1,但您可以通过提供EXPIRE_MAX_USERS设置来覆盖此默认值(设置为0允许每个会话无限制数量的用户)。

如果用户超过了他们允许的会话数量,则会删除超出数量的会话(实际上是从现在起无效的会话中注销用户)。

已记录的会话

每个会话的记录都存储在django_expire.models.LoggedSession模型中。

默认情况下,无效的会话不会被从数据库中删除,因此您可以使用此模型检索登录信息(例如,日期/时间和IP地址)。

使用 EXPIRE_LOG_LIMIT 设置来限制每个用户保留的过期会话日志数量(您可以使用 0 立即删除过期会话日志,或使用 None 表示无限制)。

按用户更改过期设置

django_expire.signals.expire_check 允许您在用户级别更改过期设置。

在运行任何测试之前发送该信号,同时包含一个包含单个 max_users 键的设置字典。信号处理程序可以更改字典中的值,以更改此用户的设置。

一个示例处理程序(未自动连接)可以在 django_expire.signals.superuser_handler 中找到,该处理程序演示了允许超级用户无限制数量的会话。

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分布

django-expire-1.0.1.tar.gz (6.1 kB 查看哈希值)

上传时间

支持