当前位置: 首页 > article >正文

java 环境 redis信创后整合jedis

背景

redis信创后,redis登录信息中增加了用户名,而jedis目前不支持用户名。

方案

修改jedis源代码,使其在调用redis时传入用户名。

步骤

1、pom依赖

    <!--redis-->
    <dependency>
      <groupId>redis.clients</groupId>
      <artifactId>jedis</artifactId>
      <version>2.9.0</version>
    </dependency>

2、找到BinaryClient

搜索jedis jar中的类:BinaryClient(redis.clients.jedis.BinaryClient)

3、创建BinaryClient

3.1创建包

在自己的项目中创建包:redis.clients.jedis

3.2创建类

在包redis.clients.jedis中创建类BinaryClient

3.2复制类代码

复制(全部复制)jedis  BinaryClient.java 的代码到自己创建的BinaryClient.java 中

 3.3修改自己的BinaryClient.java 

找到方法redis.clients.jedis.BinaryClient#auth 并修改成下面的代码

/**
     * 校验权限方法
     * @param password 默认情况下只有密码。
     *                 为了方便些这里把密码设计成用户名!密码
     *                 !是分割分隔符
     */
    public void auth(final String password) {
        //用户名!密码分割
        String[] passArray = password.split("!");
        //得到用户名
        String u = passArray[0];
        //得到密码
        String p = passArray[1];
        setPassword(password);
        //传入用户名、密码
        sendCommand(AUTH, u,p);
    }

4、修改redis密码

这里为了简化,把用户名和密码都放到密码字段里。格式为:用户名!密码

例如:用户名: admin 密码:123

则传给jedis的密码为:admin!123


http://www.kler.cn/a/557857.html

相关文章:

  • 视频大小怎么计算?视频码率是什么,构成视频清晰度的核心要素!
  • Pytorch实现之结合SE注意力和多种损失的特征金字塔架构GAN的图像去模糊方法
  • js如何直接下载文件流
  • #渗透测试#批量漏洞挖掘#Progress Software Flowmon命令执行漏洞(CVE-2024-2389)
  • STM32MP157A单片机驱动--控制拓展版的灯实现流水效果
  • 从函数到神经网络
  • Elasticsearch常用的查询条件
  • [Android]使用WorkManager循环执行任务
  • 【开放词汇分割】Image Segmentation Using Text and Image Prompts
  • 设计心得——解耦的实现技术
  • 打开Firefox自动打开hao360.hjttif.com标签解决方案
  • java Web
  • 【论文解析】Fast prediction mode selection and CU partition for HEVC intra coding
  • 【漫话机器学习系列】100.L2 范数(L2 Norm,欧几里得范数)
  • .NET MVC实现电影票管理
  • 电商API安全防护:JWT令牌与XSS防御实战
  • android 快速定位当前页面
  • 设计模式之组合设计模式实战 文件展示 树叶子节点
  • chrome扩展程序如何实现国际化
  • springboot3.x整合fastdfs