首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当用户关闭构建在django2.0上的网站上的选项卡或浏览器时,如何强制注销用户

当用户关闭构建在django2.0上的网站上的选项卡或浏览器时,如何强制注销用户
EN

Stack Overflow用户
提问于 2018-06-28 15:10:37
回答 2查看 5K关注 0票数 2

我使用了Django使用Django身份验证的内置登录注销功能,这是用于在urls.py中登录的以下url模式:

代码语言:javascript
运行
复制
from django.contrib import admin
from django.urls import path, include
from . import views


urlpatterns = [
    path('',views.home),
    path('admin/', admin.site.urls),
    path('users/', include('users.urls')),
    path('users/', include('django.contrib.auth.urls')),
    path('dashboard/', include('dashboard.urls')),

]

我在我的setting.py settings.py中添加了以下内容:

代码语言:javascript
运行
复制
LOGIN_REDIRECT_URL = 'dashboard:home'
LOGOUT_REDIRECT_URL = 'dashboard:home'

现在,我如何检查用户是否关闭了浏览器并将其注销?PS:我创建了自己的登录和注册HTML页面,并创建了从AbstractUser派生的自己的自定义用户。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-28 15:21:32

只需将SESSION_EXPIRE_AT_BROWSER_CLOSE设置设置为true,这样Django的会话cookie只对浏览器会话的长度有效。

如果SESSION_EXPIRE_AT_BROWSER_CLOSE设置为True,Django将使用浏览器长度的cookies cookie,用户一旦关闭浏览器就会过期。如果您希望人们每次打开浏览器时都必须登录,请使用此方法。

票数 6
EN

Stack Overflow用户

发布于 2018-06-28 15:18:21

您可以像这样侦听窗口或选项卡关闭事件。这种方法需要jQuery和JavaScript。

代码语言:javascript
运行
复制
$(document).ready(function(){         
    $(window).on("beforeunload", function(e) {
        $.ajax({
                url: logout_url,
                method: 'GET',
            })
    });
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51086290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档