python web中如何共享登录状态?

yzhengwei
  • 170

在一个域名下面会有好多个子域名,每个子域名对应一个子系统,这些子系统有的是用DJANGO,有的是用Flask等不同的框架开发,那么,我们如何在这不同系统间共享登录状态?也就是说,只要在某一个系统登录了,在使用其他系统的时候也共享着登录的状态,不需要再次登录,除非登录失效。这样的话要怎么做呢?

回复
阅读 5.1k
4 个回答

可以参考:
https://github.com/castlabs/d...

你也可以自己实现:
1、搞一个用户中心(用于账户管理、登录等)
2、访问一个子系统,先判断是否有token。如果没有,或者已过期,则自动跳转到用户中心。
3、用户中心登录成功以后,生成一个token,并跳转回之前要访问的子系统(带上token)
4、再访问别的系统时,都需要带上这个token。

还有个办法,不需要显式的带token:用户中心登录成功以后,cookie还保存登录信息。访问各个子系统(页面加载)的时候,通过jsonp去用户中心校验是否已登录:假如用户中心域名www.a.com,那么浏览器会缓存该域名及其对应的cookie;而jsonp跨域去请求www.a.com的时候,会自动带上这个cookie的。

看看什么叫单点登录

token验证 token存redis 设置过期。看看jwt相关的文章你就知道了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏