首页 > 其他分享 >单点登录

单点登录

时间:2023-11-07 18:23:32浏览次数:31  
标签:单点 uid 登录 mobile ip redis token hSet

 

            # 单点检测
            $this->verifySignLogin($admin->id, $params['mobile'], $token);
            



  /**
     * @param $uid
     * @param $token
     */
    private function verifySignLogin($uid, $mobile ,$token)
    {
        # 获取当前登陆ip
        $request = Request::instance();
        $ip      = $request->ip();
        $redis   = Cache::store('redis')->handler();
        $redis->select(1);
        $info    = $redis->hGetAll($uid . '-' . $mobile);

        if (!$info) {
            $redis->hSet($uid . '-' . $mobile, 'token', $token);
            $redis->hSet($uid . '-' . $mobile, 'ip', $ip);
        } else {
            if ($info['ip'] != $ip) {
                # 添加黑名单
                JWTAuth::invalidate($info['token']);
                # 重置缓存
                $redis->hSet($uid . '-' . $mobile, 'token', $token);
                $redis->hSet($uid . '-' . $mobile, 'ip', $ip);
            }else{
                $redis->hSet($uid . '-' . $mobile, 'token', $token);
            }
        }
    }
    

 

标签:单点,uid,登录,mobile,ip,redis,token,hSet
From: https://www.cnblogs.com/G921123/p/17815584.html

相关文章

  • selenium等待元素加载,元素操作,执行js,切换选项卡,前进后退,异常处理,登录cnblogs,抽
    1selenium等待元素加载......
  • Windows XP/2003自动登录
    单击“开始|运行”,并在输入框中键入“controluserpasswords2”,这样就可以在“用户账户”管理窗口中清除“要使用本机,用户必须输入密码”复选项的选中状态,然后按下键盘的“Ctrl+Shift+A”,将会得到一个“自动登录”的设置对话框,您可以按自己的需要设置系统在电脑启动时自动登录使用......
  • Apifox 自动登录 + 请求加密[自用]
    varjsrsasign=require("jsrsasign");varcryptoJs=require("crypto-js");varaccessToken=pm.environment.get("ACCESS_TOKEN");varaccessTokenExpires=pm.environment.get("ACCESS_TOKEN_EXPIRES");letrequest_enc......
  • 解决某站代码必须登录才能复制的问题
    这个事情是通过bookmarklet来实现的,内容很短。都是老中医,没必要给咱出这偏方。将下列内容加入浏览器书签。javascript:eval(atob("dmFyIGM9QXJyYXkuZnJvbSgkKCJjb2RlIikpLm1hcChhPT5hLmlubmVyVGV4dCkuam9pbigiPGJyPiIucGFkRW5kKDUwLCI9IikrIjxicj4iKTt2YXIgYT13aW5kb3cub3Blbig......
  • springboot mybatis-plus 登录接口
    下面是使用SpringBoot和MyBatis-Plus实现登录接口的示例代码:添加依赖在pom.xml文件中添加以下依赖:<dependencies><!--SpringBoot--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</a......
  • 利用路由守卫实现token过期后返回登录界面
    consttimeX=localStorage.getItem("time");//如果有时间戳存在会判断token是否过期if(timeX!==null){consttime=timeX.slice(1,-1)//获取了token的过期时间consttokenTime=newDate(time);constcurrentTimeUS=newDate();constcurrentTimeCN=newDate(cu......
  • 【SFTP】sftp的登录和基本操作
    sftp的一些简单操作语句登录[email protected]输入密码:xxx下载文件getxxx.txt(下载单个文件)get-rxxx_folder(下载文件夹)创建文件夹mkdirxx_folder(这类型的操作,和Linxu其实没有什么区别了)登出quit......
  • qt 登录
    Qt设计精美的登录注册界面(包含SQLite数据库应用)_c++_桃豆豆-腾讯云开发者社区(csdn.net)......
  • C#中登录功能的实现
    具体代码//登录功能privatevoidbutton1_Click(objectsender,EventArgse){if(userID.Text==""||userPassword.Text==""){MessageBox.Show("用户名或者密码为空~");}......
  • GitLab集成钉钉扫码登录
    创建钉钉应用复制appKey和appSecret修改gitlab.rb配置#自动链接ldap用户gitlab_rails['omniauth_auto_link_ldap_user']=truegitlab_rails['omniauth_providers']=[{name:"dingtalk",#登录按钮展示名称label:"钉钉",......