美文网首页
spring security国际化资源文件修改方式

spring security国际化资源文件修改方式

作者: 邓立_全栈UncleLi | 来源:发表于2021-05-14 10:20 被阅读0次

测试小哥拿刀提bug,吓尿开发小哥,bug如图

bug 图

分析问题原因:切换了时区导致请求头Accept-Language发生变化

postman 测试图

根据spring官网文档说明,对本地化配置有两种方式

spring 官网

spring过滤器源代码跟踪Accept-Language设置位置

spring 过滤器源代码跟踪图

解决方案

一、xml格式

<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
    <property name="basename" value="classpath:org/springframework/security/messages"/>
</bean>

二、配置类格式

import org.springframework.context.MessageSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.support.ReloadableResourceBundleMessageSource;
 
import java.util.Locale;
@Configuration
public class SecurityMessageLocal {
 
    @Bean
    public MessageSource messageSource() {
        Locale.setDefault(Locale.CHINA);
        ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
//        messageSource.addBasenames("classpath:org/springframework/security/messages_zh_CN");
        messageSource.addBasenames("classpath:security/messages_zh_CN");
        return messageSource;
    }
}

相关文章

网友评论

      本文标题:spring security国际化资源文件修改方式

      本文链接:https://www.haomeiwen.com/subject/ftyhjltx.html