在认证中心存储ticket用session和缓存本质上感觉没什么区别,为什么要用缓存?

在认证中心存储ticket用session和缓存本质上感觉没什么区别,为什么要用缓存?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕小尤 2019-08-04 14:33:24

同学你好,缓存是只memcache缓存。如图所示:

http://img1.sycdn.imooc.com//climg/5d467c300001acb006210179.jpg

祝学习愉快!

  • 提问者 蓝调灬雨歇 #1
    我知道是memcache,你之前说“用户登陆生产session内容是在认证中心系统中的,那么认证系统自然是可以获取到。可子系统就无法获取到session值,所以将ticket存入缓存,将其可以在子系统中获取到”。你这个意思是子系统和认证系统共用一个缓存?
    2019-08-04 14:36:14
  • 好帮手慕小尤 回复 提问者 蓝调灬雨歇 #2
    同学你好,是的,子系统与认证系统共用缓存(ticket)。祝学习愉快!
    2019-08-04 14:44:46
  • 提问者 蓝调灬雨歇 回复 好帮手慕小尤 #3
    那如果子系统和认证系统不在同一个服务器上,而且没有单独的服务器用作缓存服务器,这样就没法做单点登录了吗?
    2019-08-04 14:46:59
好帮手慕小尤 2019-08-04 10:53:11

同学你好,因只有浏览器带上会话标志才可以访问到session,当子系统访问时,是无法带上会话标志,所以使用缓存。祝学习愉快!

  • 提问者 蓝调灬雨歇 #1
    我还不是很理解,子系统访问无法带会话标志我理解,但是在拿到ticket之前,判断用户是否登陆的时候也没有带会话标志啊,userinfo也是存储在session中的。那为什么userinfo可以存储在session中?
    2019-08-04 11:04:42
  • 好帮手慕小尤 回复 提问者 蓝调灬雨歇 #2
    同学你好,缓存里存储的是ticket信息,而session中存储的是用户信息。在判断ticket为空时需要进行登陆,不为空(false)是才会进行去认证中心,如果ticket在认证中心,验证成功则会在子系统中生成局部的session(用户信息)。祝学习愉快!
    2019-08-04 11:22:27
  • 提问者 蓝调灬雨歇 回复 好帮手慕小尤 #3
    不是,我的意思是,在认证中心中用户信息userinfo也是在session中,老师的课程中在认证中心里面首先是判断有没有用户信息userinfo,这个是存在session中的。
    2019-08-04 11:27:35
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
PHP典型功能与Laravel5框架开发
  • 参与学习           人
  • 解答问题       722    个

掌握开发中必备技能解锁缓存、支付,邮件和短信发送等高端接口运用,直击工作重难点,通过开发简书项目熟练掌握Laravel5的开发技术。完成以上三个阶段的学习,成为满足企业需求的开发工程师。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师