利用Redis单点登录跨服务器的方法

  1. 登录的时候,获取userid对应的oldtoken删除掉,再设置新的token,Redis设置

    $userid = 20;//登录成功获取ID
    $oldtoken = $redis->get($userid);
    if($oldtoken){//存在旧的直接删除
        $redis->del($oldtoken);
    }
    $access_token = rand(10000,99999);//举例子
    $redis->set($userid,$access_token);//如果想限制时间就填写第三个参数timeout
    $redis->set($access_token,$userid);//如果想限制时间就填写第三个参数timeout
  2. 请求数据的时候获取userid对应的token,判断token的值的内容,获取不到数据就不返回数据

    //解密校验串获取access_token
    $access_token = 12348;//请求方不携带
    if($redis->get($access_token){
        //验证通过
    }else{
        return false;
    }

这个不能规避安全性问题,需要每次请求的时候携带校验串【非对称加密】

相关推荐