spring security异常消息默认是英文的,项配置成中文的且可以自定义异常消息。
如果使用spring配置文件,这里就不说了网上一搜一大堆,基本都一样
<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename"
value="classpath:org/springframework/security/messages" />
</bean>
注入messageSource更改basename。
我因为使用的spring boot框架,基本都是使用@configuration配置的,所以也要使用java代码配置,废话不多说,看代码,很简单。
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自己提供的汉化配置。
参考文章:https://blog.codecentric.de/en/2017/08/localization-spring-security-error-messages-spring-boot/