服务器如何判断当前用户是否登录?

// 1. 如果是即时通信类:长连接.

    // 如何保证服务器跟客户端保持长连接状态?

    

    // "心跳包" 用来检测用户是否在线!用来做长连接!

    

    // token : 相当于登录令牌! 用来判断当前用户的登录状态!

    

    // token 值特点: 是一个字符串/大整数,只需要保证唯一性.是服务器根据用户的信息(账号/密码/身份认证机制(电话号/身份证号/支付宝账号/银行卡信息)...)来生成的用于标识用户身份的值!

    

    // token 值获取:

    

    // 当用户首次登录成功之后, 服务器端就会生成一个 token . 1.会在服务器保存token(保存在数据库中) 2.将这个token值返回给客户端.

    

    // 客户端拿到 token 值之后,一般保存在两个位置 : 1. token 保存在 cookie ; 2. token 保存在沙盒中,作为一个公共参数传递.

    

    // 公共参数: 每一个网络请求都需要的参数! 一般公共参数有很多都是"可选"参数!,公共参数附带的越多,越利于后台监测用户,数据挖掘会使用到监测到的数据.

    

    // 以后客户端再次发送网络请求(一般不是登录请求)的时候,就会将这个 token 值附带到参数中发送给服务器.

    

    // 服务器接收到客户端的请求之后,会取出token值与保存在本地(数据库)中的token值做对比!

    // 如果两个 token 值相同 :说明用户登录成功过!当前用户处于登录状态!

    // 如果没有这个 token , 没有登录成功.

    // 如果 token 值不同: 说明原来的登录信息已经失效,让用户重新登录.

    

    

    // token 值失效问题: 1. token 值有失效时间!

    {

        token的有效时间:

        {

            1. 如果 app 是新闻类/游戏类/聊天类等需要长时间用户粘性的. 一般可以设置1年的有效时间!

            

            2. 如果 app 支付类/银行类的. 一般token只得有效时间比较短: 15分钟左右!

        }

    }

    

    // token 值失效问题: 2. token 值用来做设备唯一性登录判断!

    {

        每次登录之后,无论用户密码是否改变,只要调用登录接口并且登录成功,都会在服务器生成新的token,原来的token值就会失效!

        

        典型的 app : 打车软件类

    }

转载于:https://www.cnblogs.com/zouhengwei/p/5380731.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值