基于django身份验证的会话过期
django-expire的Python项目详细描述
提供基于身份验证的会话过期的django应用程序。
要将此应用程序安装到项目中,请先将其添加到 INSTALLED_APPS设置(并运行manage.py syncdb):
INSTALLED_APPS = ( ... 'django_expire', )
接下来,将到期中间件添加到MIDDLEWARE_CLASSES设置中, 将它放在session和auth中间件之后。
MIDDLEWARE_CLASSES = ( ... 'django_expire.middleware.ExpireMiddleware', )
它的功能
对于经过身份验证的用户的每个请求,都会运行一个检查以确保 属于该用户的其他会话的不超过 最大值。
这个最大值默认为,但是您可以提供一个 设置覆盖此默认值(设置0允许 每个会话的用户数量)。如果用户超过了允许的会话数,则 会话被删除(有效地将用户从这些会话中注销现在已失效 会话)。
记录的会话
每个会话的日志存储在django_expire.models.LoggedSession 模型。
默认情况下,不会从数据库中删除无效的会话,因此您可以 使用此模型检索登录信息(例如,日期/时间和IP 地址)。
使用EXPIRE_LOG_LIMIT设置将过期会话日志的限制设置为 为每个用户保留(可以使用0直接删除过期的会话日志 离开或None无限制)。
更改每个用户的过期设置
django_expire.signals.expire_check允许您更改 每个用户级别的过期设置。
在运行任何测试之前发送该信号以及设置字典 包含单个max_users密钥。信号处理程序可能会更改该值 以更改此用户的设置。
示例处理程序(未自动连接)可以在 django_expire.signals.superuser_handler,它演示了 超级用户会话的数量不受限制。