【问题标题】:How to override spring security messages?如何覆盖弹簧安全消息?
【发布时间】:2013-06-07 17:12:33
【问题描述】:

如何覆盖诸如“不良凭据”之类的春季消息? 我已经使用以下 bean 配置了我的 servlet 上下文文件

<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
    <property name="basename" value="WEB-INF/messages" />       
    <property name="defaultEncoding" value="UTF-8" />       
</bean>

<bean id="localeResolver"
    class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
    <property name="defaultLocale" value="en" />
</bean>

我可以使用&lt;spring:message&gt; 标签来显示来自我的自定义文件的消息。在同一个文件中,我重新定义了所有映射到 spring-security-core.jar (messages.properties 文件)中“坏凭证”的消息,但它们没有被使用。我仍然看到“不良凭据”消息。 如何覆盖这些 spring 消息?

【问题讨论】:

  • 也许弹簧属性文件是在你的之后加载的?您可以将日志级别转为调试并尝试找出
  • 这意味着它不是一个特性,因为它依赖于平台。我想做的最后一件事是弄乱类路径。这肯定有某种机制。
  • 实际上加载顺序是问题,但正确的处理方法是在正确的上下文文件中定义这些bean。

标签: java spring-security


【解决方案1】:

事实证明,这些 bean 应该在一般应用程序上下文中定义,而不是在 myservlet-servlet.xml 文件中。一旦我从 servlet 上下文中移动了定义,它就开始按预期工作。

【讨论】:

    【解决方案2】:

    使用正确的属性名称。

    使用基本名称而不是基本名称

    【讨论】:

      猜你喜欢
      • 2020-11-06
      • 1970-01-01
      • 2023-01-03
      • 2019-10-21
      • 2018-09-08
      • 1970-01-01
      • 1970-01-01
      • 2017-08-26
      • 1970-01-01
      相关资源
      最近更新 更多