猿问

用户登录的实现逻辑

问题单页面应用中实现用户登录的逻辑是怎样的?

我的逻辑是这样的:

  • 1.用户第一次登录输入账号密码,post给api拿到一个token;

  • 2.把token存在cookie里面,并且给一个过期时间;

  • 3.用户再次登录,客户端验证是否token过期,如果没过期,直接让用户登录,并延长过期时间;

  • 4.如果过期,从新输入用户

但是这样没法解决如果用户重置密码的问题,所以切换逻辑为:

  • 1.用户第一次登录输入账号密码,post给api拿到一个token;

  • 2.把token存在cookie里面,并且给一个过期时间;

  • 3.用户再次登录,服务器验证是否token过期,如果没过期,直接让用户登录,并更新过期时间;

  • 4.如果过期,从新输入用户

但是这里又需要考虑,如果用户在别处登录的情况:

  • 用户点击页面切换服务器验证是否token过期,如果没过期,直接让用户登录,并更新过期时间;

这样就不需要设置过期时间,因为每次都要验证token
不过在每次刷新之前都设置钩子更新,页面性能会受影响吧
请问实际逻辑流程是这样吗??


慕田峪4524236
浏览 1604回答 1
1回答

大话西游666

可以存session中呀,可以使用session_regenerate_id()跟换session_id,这样可以做到单用户登录其余用户被挤下线。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答