请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师,关于单点登录的问题

亲爱的丝袜老师, 在课程视频中有听您简单的提到单点登录,使用redis, 刚好最近有项目需要用到单点登录;
我的想法是:
首先, 这个多系统是共用用户池的,且目前是同服务器,同顶级域名下; 但不排除后面可能会分不同服务器部署;
前期的同服务器,同顶级域名下的想法是:

  1. 登录账户密码认证, 生成token, 其中组成token的加密算法中有一个 随机字符串, 生成token后 以这个随机字符串为key,用户信息为value存到redis中; 另一份token则 setcookie(‘token’, ’xxx’, ‘/’, ’顶级域名’);
  2. 接口认证时, 从cookie取出token, 进过解密算法获取到 随机字符串, 并通过它去取出用户信息;

大体想法这样;
但感觉用cookie不太安全; 而且后期可能会部署不同服务器, 希望老师能给相关的方案指点一下哈, 在此先感谢了

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

1回答

singwa 2020-03-28 09:58:08

您好。你说的差不多,但是需要注意几点

1、 token 作为key ,value保存用户信息, 没问题,但是需要考虑一个问题,那下次用户在其他设备登录,这个时候会生成一个新的token,  但是之前的token  key还在redis中,那这样的话 其他设备还是一样能登录,所以这个你需要再思考下。


2、因为你用了token存redis中,  这个的话  和你 PHP部署多台机器没有关系, 可以正常使用的。

如果你用的是单机生成的文件session来做的话,那这样部署多台PHP服务器 这种方式就不行。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号