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

来源:7-8 日志是问题定位的关键

慕尼黑0236198

2020-03-27

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

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

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

写回答

1回答

singwa

2020-03-28

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

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


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

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

0
2
singwa
回复
慕尼黑0236198
客气 了祝您学习愉快
2020-04-01
共2条回复

全流程开发 TP6.0实战高并发电商服务系统

一课就能掌握TP6.0基础及运用,打造完整高并发的电商后端项目

1473 学习 · 1334 问题

查看课程