
django 前后端分离,后端只返回 json,应该如何做登录登出和状态保持,并且拦截未登录用户不能访问,求思路。
1 JC1027 2020-04-13 17:49:20 +08:00 jwt 吧 |
2 workspace 2020-04-13 18:33:47 +08:00 登陆接口逻辑验证成功后 session 设置 is_login 为 True 下次请求检查 session 里的 is_login 如果为 False 即为匿名(未登录)用户 |
3 Acoolda 2020-04-13 19:19:10 +08:00 JWT 啊 |
4 qsbaq 2020-04-13 19:29:08 +08:00 |
5 Hstar 2020-04-13 19:36:05 +08:00 这问题问的也太基础了吧,特别是问题二“如何拦截未登录用户不能访问”。 麻烦去把 dj 官方文档的 Authentication 一章节全看完,比我们在这回帖全面好多。 |
6 horkooo 2020-04-13 19:37:56 +08:00 via Android token 验证和 token 刷新。前端想用户体验高的话跟后端约定好 token 过期时间,前端定时器检查当前时间差,避免不停重复请求。或者全局 socket 连接。重要的是不要走寻常路,别让下一个接手的人看懂你的代码和思路 |
8 ytmsdy 2020-04-13 21:00:21 +08:00 Django REST framework |
9 imzxk 2020-04-14 08:24:13 +08:00 DRF 、JWT,一把梭 |
10 wizardoz 2020-04-14 09:28:28 +08:00 这需要啥思路? django 自带的 session 认证难道不支持吗? 另,楼主需要的是保持状态,jwt 不太符合 |
12 xpresslink 2020-04-14 12:00:43 +08:00 楼主学习一下 web 开发一些基础知识吧。django 的登录其实就是在客户放了一个名字为 sessionid 的 cookie 存了一个长的字符串。所以你研究一下 django.contrib.auth.login / backend.authenticate 直接把 request.session[SESSION_KEY] 的 SESSION_KEY 字符串推送给前端,写到 sessionid 的 cookie 里面就完成的登录了。 |
13 yupozhang 2020-04-18 10:24:51 +08:00 可以参考一下我们开源项目的登录实现思路 前后端分离,前端 react,后端 django,后端 python 验证登录成功后返回一个带有 token 信息的 json 对象给前端,如果用户没有登录或者登录过期自动跳转到登录页面。 项目地址: https://github.com/openspug/spug 欢迎加星。 |