如果您需要支持其他区域设置,本部分包含您需要了解的所有内容。Spring中文文档

所有异常消息(包括与身份验证失败和访问被拒绝(授权失败)相关的消息)都可以本地化。 专注于开发人员或系统部署人员的异常和日志记录消息(包括不正确的属性、接口协定违规、使用不正确的构造函数、启动时验证、调试级日志记录)未本地化,而是在 Spring Security 的代码中以英语硬编码。Spring中文文档

在 中,您将找到一个包,该包又包含一个文件以及一些常用语言的本地化版本。 您应该参考这一点,因为 Spring Security 类实现了 Spring 的接口,并期望在应用程序上下文启动时注入消息解析器依赖项。 通常,您需要做的就是在应用程序上下文中注册一个 Bean 来引用消息。 以下列表显示了一个示例:spring-security-core-xx.jarorg.springframework.securitymessages.propertiesApplicationContextMessageSourceAwareSpring中文文档

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

根据标准资源包命名,表示 Spring Security 消息支持的默认语言。 此默认文件为英文文件。messages.propertiesSpring中文文档

要定制该文件或支持其他语言,您应该复制该文件,相应地重命名它,并在前面的 Bean 定义中注册它。 此文件中没有大量消息键,因此不应将本地化视为一项重大举措。 如果您确实执行了此文件的本地化,请考虑通过记录 JIRA 任务并附加适当命名的本地化版本来与社区共享您的工作。messages.propertiesmessages.propertiesSpring中文文档

Spring Security 依靠 Spring 的本地化支持来实际查找相应的消息。 为此,您必须确保传入请求中的语言环境存储在 Spring 的 . Spring MVC 会自动为您的应用程序执行此操作。但是,由于 Spring Security 的过滤器是在此之前调用的,因此在调用过滤器之前需要将其设置为包含正确的过滤器。 您可以自己在过滤器中执行此操作(必须在 Spring Security 过滤器之前出现),也可以使用 Spring 的 . 有关在 Spring 中使用本地化的更多详细信息,请参阅 Spring Framework 文档。org.springframework.context.i18n.LocaleContextHolderDispatcherServletLocaleContextHolderLocaleweb.xmlRequestContextFilterSpring中文文档

示例应用程序设置为使用本地化消息。contactsSpring中文文档