首页 > 其他分享 >若依架构代码改造

若依架构代码改造

时间:2024-09-14 10:16:54浏览次数:8  
标签:架构 String 代码 ruoyi 若依 static java com public

概述

若依架构是开源优秀版本,实现前后端分类,主要相关文档链接如下:https://doc.ruoyi.vip/ruoyi/

问题汇总和处理

尝试用若依架构改造本地项目,遇到问题汇总,便于大家参考交流

问题1、登录提示验证码有误:

解决:替换项目的时候,主要framework项目这个文件CaptchaConfig.java,如下行配置:KaptchaTextCreator一定带上空间名称逻辑,否则找不到

  // 验证码文本生成器
        properties.setProperty(KAPTCHA_TEXTPRODUCER_IMPL, "com.ruoyi.framework.config.KaptchaTextCreator");

问题2、token存储redis缓存里面的json,结果取值反序列化失败:

解决:主要替换common模块里面Constants.java,修改配置如下,JSON_WHITELIST_STR 一定要配置自己的命名空间

  /**
     * 自动识别json对象白名单配置(仅允许解析的包名,范围越小越安全)
     */
    public static final String[] JSON_WHITELIST_STR = { "org.springframework", "com.ruoyi" };

    /**
     * 定时任务白名单配置(仅允许访问的包名,如其他需要可以自行添加)
     */
    public static final String[] JOB_WHITELIST_STR = { "com.ruoyi.quartz.task" };

    /**
     * 定时任务违规的字符
     */
    public static final String[] JOB_ERROR_STR = { "java.net.URL", "javax.naming.InitialContext", "org.yaml.snakeyaml",
            "org.springframework", "org.apache", "com.ruoyi.common.utils.file", "com.ruoyi.common.config", "com.ruoyi.generator" };

问题3、mapper找不到,提示无次class文件。

解决:主要替换framework项目里面ApplicationConfig.java文件里面的注解,MapperScan一定改成自己的命名空间

/**
 * 程序注解配置
 *
 * @author fts
 */
@Configuration
// 表示通过aop框架暴露该代理对象,AopContext能够访问
@EnableAspectJAutoProxy(exposeProxy = true)
// 指定要扫描的Mapper类的包的路径
@MapperScan("com.ruoyi.**.mapper")
public class ApplicationConfig
{
    /**
     * 时区配置
     */
    @Bean
    public Jackson2ObjectMapperBuilderCustomizer jacksonObjectMapperCustomization()
    {
        return jacksonObjectMapperBuilder -> jacksonObjectMapperBuilder.timeZone(TimeZone.getDefault());
    }
}

建议4:建议修改下CacheConstants.java文件修改成自己的项目后缀,如下,方便键值分开;

/**
     * 登录用户 redis key
     */
    public static final String LOGIN_TOKEN_KEY = "login_tokens_test:";

 

标签:架构,String,代码,ruoyi,若依,static,java,com,public
From: https://www.cnblogs.com/xibei666/p/18413411

相关文章

  • 通过注释一行代码 开启关闭一个div的css样式 - 开发调试技巧
    通过注释一行代码开启关闭一个div的css样式-开发调试技巧需求:开发的时候,我需要对页面的某个样式反复开关,但是html不能通过注释来开关,所以可以在div的上面加一个js但是vue的template里面不能加script,需要加component重点代码不写v-bindvscode有红色波浪<componentv-bind:......
  • 内网穿透技术的思考--反向代理、TCP 隧道、 UDP 打洞--C++代码示例
    概述内网穿透是一种技术,用于在私有局域网(LAN)中的设备与外部网络(如互联网)之间建立通信通道,使得外部设备可以访问内网中的服务。由于内网设备通常位于防火墙或NAT(网络地址转换)设备之后,外部网络无法直接访问它们。因此,内网穿透技术旨在解决这一问题。本文将讨论如何使用C++实现......
  • 当代码遇上“意外”:Python中的异常引发艺术
    引言异常处理是软件开发不可或缺的一部分。良好的异常管理不仅能够提升程序的稳定性与可靠性,还能显著改善用户体验。在Python中,“异常的引发”是指主动抛出一个错误信息,以通知调用者当前操作出现了问题。掌握这一技巧,对于编写高效、可维护的代码至关重要。基础语法介绍在Python......
  • JWT在分布式架构中的应用实践|使用Java构建安全的身份验证系统|使用Java构建安全的身份
    JWT(JSONWebToken)是一种基于JSON的开放标准,用于在双方之间安全地传输信息。JWT因其轻量级、安全性和跨平台特性,在现代Web应用中被广泛使用。通过JWT,可以方便地进行用户身份验证、信息传递等场景。然而,对于开发者来说,如何正确解析JWT以验证其合法性和提取其中的信息至关重要。在这......
  • 短视频开源代码,微前端助力系统达成松耦合
    短视频开源代码,微前端助力系统达成松耦合什么是微前端?微前端是一种网络开发架构模式,将微服务的原则扩展到网络应用的前端。它涉及将网络应用的用户界面分解为更小的、松散耦合的、可以独立部署的前端模块。每个模块代表应用的一个独特功能或特性,可以独立开发、测试和部署。微前......
  • 企业私有云容器化架构运维实战
    一、虚拟化技术概述了解什么是虚拟化虚拟化(Virtualization)技术最早出现在20世纪60年代的IBM大型机系统,在70年代的System370系列中逐渐流行起来,这些机器通过一种叫虚拟机监控器(VirtualMachineMonitor,VMM)的程序在物理硬件之上生成许多可以运行独立操作系统软件的......
  • 2.hive架构
    Hive的架构设计是为了处理存储在Hadoop文件系统(HDFS)中的大规模数据集,并支持通过类似SQL的查询语言(HiveQL)进行数据查询和分析。以下是Hive的详细架构:###Hive架构的主要组件:####1.用户接口(UserInterface)-**CLI**(CommandLineInterface):命令行接口,允许用户直接输入HiveQL。-**W......
  • 一段简单实用的Pbootcms页码显示样式代码
    {pboot:if({page:rows}>0)}<divclass="pagebar"><divclass="pagination"><aclass="page-itempage-linkhidden-sm"href="{page:index}"title="首页">首页</a><acl......
  • 如何搭建短视频平台,微服务架构为系统性能加成
    如何搭建短视频平台,微服务架构为系统性能加成什么是微服务?微服务是一种架构风格,其中单体应用被划分为若干个小型、松散耦合且独立的服务。所有这些微服务共同工作,形成一个更大的系统。在微服务架构中,每个服务代表一个特定的业务能力,并作为一个拥有自己的数据库和逻辑的独立......
  • C#笔记13 线程同步概念及其实现,详解lock,Monitor,Mutex代码用法
    同步的概念在我们学会在C#中使用线程之后,我们拥有了把一个程序中的不同代码段在不同线程中运行的能力,可以说此时我们已经能够做到让他们分别执行,异步执行。对于我们的桌面端程序,使用多线程可以让我们在后台进行操作的时候保持用户界面的响应。对于服务器应用程序,多线程可以......