djang中的注销功能

2024-09-27 09:28:51 发布

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

全部

在django项目中,如果打开了2个模板窗口,并且在1个窗口中触发了注销,则其他窗口cookie不会被触发没问题。怎么办删除cookies,以便触发注销。在

def logout(request):
    //request = redirect('webbie.home.views.loginpage')
    //request.delete_cookie('user_location')
    return auth_logout(request)

谢谢。。在


Tags: 项目django模板homecookierequestdefdelete
2条回答

你到底是什么意思?你的意思是,如果你必须用同一个窗口打开同一个窗口,而你在一个窗口注销,你在另一个窗口没有注销?我对此表示怀疑。在

当然,您不会在另一个窗口中重定向到某个页面,因为您在该特定窗口中没有执行任何操作。但是,如果您单击只对登录用户可用的链接,则应该重定向到登录页面。在

不,如果用户从另一个站点注销,您就无法在客户端检测到,至少没有Ajax和一些自定义检查。在

在cookie中,您应该只存储一个会话密钥。然后,服务器需要跟踪所有会话密钥,并将过期日期/时间和用户帐户与其关联。对于每个登录的用户,应该给他们一个新的会话密钥,尽管您可以允许多个登录/用户帐户。因此,当您检查cookie是否有效时,您需要咨询您的服务器数据库,看看您是否有这个会话密钥以及它是否有效。如果您现在想在某个用户帐户注销时“终止”所有活动会话,则只需从服务器会话密钥列表中删除所有会话密钥。
您应该尽量不要在cookies中存储敏感数据,一个会话密钥就足够了,然后让服务器将数据与此密钥相关联。现在您可以控制已登录的用户。
关于以下文档的更多Django会话信息:http://docs.djangoproject.com/en/dev/topics/http/sessions/

相关问题 更多 >

    热门问题