如何检查Django用户是否仍然只从客户端登录?

e-s*_*tis 11 javascript authentication django cookies

安全不是问题.

我需要在页面上显示"您以用户名登录",但不想仅为此删除缓存中的视图,因此我希望能够在javascript中执行此操作.

我不想对此过程做任何重要的事情,只需检查cookie是否仍然有效,如果是,则显示欢迎消息,过度显示登录链接.

重点是不打中数据库并节省服务器,因为我们每天在这台机器上有120000个用户,所以我需要:

  • django.contrib.authcookie 的名称,所以我可以阅读它;
  • 我应该从中读取数据以确定用户仍然登录
  • 一种从中提取用户名的方法

如果我找不到这样做的方法,我将回过头来创建一个身份验证后端,在登录时设置一个额外的cookie并在注销时删除它.

Rob*_*rne 9

会话ID的Cookie存在,并且有一个截止日期.您可以检查是否仍然有效,这表明他们已将其记录下来.您无法以这种方式获取用户名,但您必须添加自定义Cookie.

  • 不再作为响应有效,即使访客用户也有sessionid (9认同)
  • sessionid 现在是 HTTP-ONLY cookie,不能从 javascript 中读取。 (2认同)