Spring Security 国际化

Spring Security支持异常信息的国际化,最终用户希望看到这些信息。 如果你的应用被设计成给讲英语的用户的,你不需要做任何事情, 因为默认情况下Spring Security的信息都是引用的。

所有的异常信息都支持国际化,包括验证失败和访问被拒绝的相关信息(授权失败)。 应该被开发者和系统开发者关注(包括不正确的属性,接口契约,使用非法构造方法, 开始时间校验,调试级日志等等)的异常和日志没有被国际化,而是使用英语硬编码到 Spring Security的代码中。

找到国际化文件
从spring-security-core-xx.jar中,你可以找到 org.springframework.security包下,包含了一些 messages.properties文件,我们找到

messages_zh_CN.properties 并拷贝到 resources 目录下

配置国际化文件
这应该引用到你的 ApplicationContext中,因为Spring Security的类 都实现了spring的MessageSourceAware接口, 期待的信息处理器会在application context启动的时候注入进来。 通常所有你需要做的就是在你的application context中注册一个bean来引用这些信息。

在 application context 中配置

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

messages.properties是按照标准资源束命名的, 里边包括了Spring security所使用的默认语言的信息。 默认的文件是英文的。如果你没有注册一个信息源,Spring Security也会正常工作, 并使用硬编码的英文版本的信息。

修改相应国际化文件

...........badCredentials=\u574f\u7684\u51ed\u8bc1

默认的badCredentials翻译为 "坏的凭证" 我们将其修改为 "账号或密码不正确"

替换所有的 \u574f\u7684\u51ed\u8bc1为 \u8d26\u53f7\u6216\u5bc6\u7801\u4e0d\u6b63\u786e
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值