V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
piaochen
V2EX  ›  Python

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

  •  
  •   piaochen · 2017-12-16 11:42:05 +08:00 · 4514 次点击
    这是一个创建于 2294 天前的主题,其中的信息可能已经有所发展或是发生改变。
    已经实现了登录,打算加入第一次登录后,下次打开网页,如果用户之前登录过,就 30 天内自动登录的功能。度娘了下,居然发现没找到比较成熟的方案。
    目前的思路有两个:
    1.往浏览器 cookie 中写入用户名和加密后的密码,然后后台验证。感觉这样还是有点不靠谱。
    2.我自己算出一个免登录的 token,然后交给 cookie。自己建一个表,保存 token 和 user 的对应关系,还有失效时间。最后根据浏览器带过来的 token 进行登录。
    对于方案 2.django 有没有已经集成相关的步骤?或者有没有什么更优雅的方式?有相关文章的,麻烦也扔过来。谢了。
    10 条回复    2017-12-16 19:34:53 +08:00
    yearliny
        1
    yearliny  
       2017-12-16 11:49:42 +08:00 via Android
    SingeeKing
        2
    SingeeKing  
       2017-12-16 12:10:59 +08:00
    为什么不直接延长 Session/Cookies 的有效期到 30 天?
    rogwan
        3
    rogwan  
       2017-12-16 13:06:58 +08:00
    用户登录保留长点时间没有关系,只要做好账户安全保障就可以,明明都让系统记住密码了,还要老让输入用户名密码也很烦
    yichinzhu
        4
    yichinzhu  
       2017-12-16 13:14:05 +08:00 via Android
    你大概不知道有个东西叫 session ?
    leoli
        5
    leoli  
       2017-12-16 13:34:27 +08:00
    Weny
        6
    Weny  
       2017-12-16 16:37:29 +08:00 via iPhone
    楼主多看书
    bestkayle
        7
    bestkayle  
       2017-12-16 16:52:13 +08:00 via Android
    存 redis 不就行了。。。这和 django 有什么关系
    piaochen
        8
    piaochen  
    OP
       2017-12-16 16:53:54 +08:00
    @SingeeKing 我是做客户端的,自己兴趣写点 django 的东西。是不是一般网站,点选“记住密码”的,就把 session/cookies 的时间延长?加入不点选,就默认的时间?
    clino
        9
    clino  
       2017-12-16 18:03:51 +08:00 via Android
    典型 session 不 remember me 就一小时,remember 了就比较长,我刚做一个应用改成 3 个月了
    zjqzxc
        10
    zjqzxc  
       2017-12-16 19:34:53 +08:00
    建议试试 github 的思路,平时自动登陆,敏感操作需要额外输入密码
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3239 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 12:06 · PVG 20:06 · LAX 05:06 · JFK 08:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.