若依架构代码改造

概述

若依架构是开源优秀版本,实现前后端分类,主要相关文档链接如下: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:";

 

posted @ 2024-09-14 10:09  jiajinhao  阅读(73)  评论(0编辑  收藏  举报