DjangSessionSecurity会话未过期

2024-05-18 22:28:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试在我的站点上使用ajax池(setTimeout)和django会话安全性。在文档中提到了SESSION_SECURITY_PASSIVE_URL,但我似乎无法使其工作。在

我的设置:

SESSION_SECURITY_WARN_AFTER = 15
SESSION_SECURITY_EXPIRE_AFTER = 21
SESSION_EXPIRE_AT_BROWSER_CLOSE = True
SESSION_SECURITY_PASSIVE_URL = ['http://localhost:8000/core/notice/check/', 'core/notice/check/', '/core/notice/check/']

我的javascript:

^{pr2}$

你知道我做错了什么吗?在


Tags: django文档coreurl站点sessioncheckajax
3条回答

SESSION_SECURITY_PASSIVE_URLS允许您添加静态url。然而,Django中的大多数url都不是静态的。如何将动态URL添加到此列表以绕过会话更新。例如,在url /category/1/product/5/中,1和5是动态id,但我想跳过任何与模式匹配的url

'/category/(?P<cat_id>[\d]+)/product/(?P<product_id>[\d]+)/'

无法评论,因此尝试在此处回答。您是否已将{% include 'session_security/all.html' %}添加到(基本)模板中?另外,您是否在适当的urls.py文件中添加了session_securityurl?在

似乎只是因为您的设置参数名缺少结尾的's'。它应该是“SESSION-SECURITY-PASSIVE-URLS”而不是“SESSION-SECURITY-PASSIVE-URL”。考虑源代码here。在

除此之外,我相信您可以安全地从SESSION_SECURITY_PASSIVE_url列表中删除冗余元素,只保留'/core/notice/check/'条目。同样,正如我们从the source code中看到的,请求“是否为被动”的决定是通过检查请求.路径根据设置中的值列表。在

相关问题 更多 >

    热门问题