Django 如何更好的实现自动登录?

2017-12-16 11:42:05 +08:00
 piaochen
已经实现了登录,打算加入第一次登录后,下次打开网页,如果用户之前登录过,就 30 天内自动登录的功能。度娘了下,居然发现没找到比较成熟的方案。
目前的思路有两个:
1.往浏览器 cookie 中写入用户名和加密后的密码,然后后台验证。感觉这样还是有点不靠谱。
2.我自己算出一个免登录的 token,然后交给 cookie。自己建一个表,保存 token 和 user 的对应关系,还有失效时间。最后根据浏览器带过来的 token 进行登录。
对于方案 2.django 有没有已经集成相关的步骤?或者有没有什么更优雅的方式?有相关文章的,麻烦也扔过来。谢了。
4548 次点击
所在节点    Python
10 条回复
yearliny
2017-12-16 11:49:42 +08:00
SingeeKing
2017-12-16 12:10:59 +08:00
为什么不直接延长 Session/Cookies 的有效期到 30 天?
rogwan
2017-12-16 13:06:58 +08:00
用户登录保留长点时间没有关系,只要做好账户安全保障就可以,明明都让系统记住密码了,还要老让输入用户名密码也很烦
yichinzhu
2017-12-16 13:14:05 +08:00
你大概不知道有个东西叫 session ?
leoli
2017-12-16 13:34:27 +08:00
Weny
2017-12-16 16:37:29 +08:00
楼主多看书
bestkayle
2017-12-16 16:52:13 +08:00
存 redis 不就行了。。。这和 django 有什么关系
piaochen
2017-12-16 16:53:54 +08:00
@SingeeKing 我是做客户端的,自己兴趣写点 django 的东西。是不是一般网站,点选“记住密码”的,就把 session/cookies 的时间延长?加入不点选,就默认的时间?
clino
2017-12-16 18:03:51 +08:00
典型 session 不 remember me 就一小时,remember 了就比较长,我刚做一个应用改成 3 个月了
zjqzxc
2017-12-16 19:34:53 +08:00
建议试试 github 的思路,平时自动登陆,敏感操作需要额外输入密码

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/415230

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX