2012-07-04 43 views
0

我在我的网络应用中设置了spring-security设置。我想用我的自定义消息,以取代弹簧安全的一些信息,即春季邮件捆绑问题

而不是Bad Credentials我想AbstractUserDetailsAuthenticationProvider.badCredentials有值invalid username or password, please try again

这是我的春天设置:

<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> 
<property name="basename" value="/WEB-INF/messages/messages"/> 
<!-- Tried this as well <property name="basename" value="/WEB-INF/messages/messages.properties"/> --> 
<property name="cacheSeconds" value="0" /> 
<property name="defaultEncoding" value="UTF-8" /> 
</bean> 

而且我创建的文件夹在WEB-INF中调用messages。在这个文件夹里面有一个名为messages.properties的文件。里面这个文件是一行:

AbstractUserDetailsAuthenticationProvider.badCredentials=invalid username or password, please try again 

我在做什么错在这里?

更新:

这个servlet上下文是Web XML定义:

<!-- Processes application requests --> 
    <servlet> 
     <servlet-name>appServlet</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
     <init-param> 
      <param-name>contextConfigLocation</param-name> 
      <param-value>/WEB-INF/spring/servlet-context.xml</param-value> 
     </init-param> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>appServlet</servlet-name> 
     <url-pattern>/</url-pattern> 
    </servlet-mapping> 

问题解决了,感动了为messageSource bean定义到另一个环境。

回答

1

一切都看起来不错。尝试使用弹簧消息标记,以检查问题是否与您的配置或安全消息得到消息:

<spring:message code="AbstractUserDetailsAuthenticationProvider.badCredentials" /> 

如果这样做的工作,问题不在于你的配置(看起来对我很好)。

总之,尽量把您的邮件文件在类路径(源文件夹),这样的:

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

此外,检查bean是在一个应用程序上下文文件Spring能感知被宣布。

+0

既不可行,也不知道为什么 –

+0

但我看到我的上下文已经加载了'INFO:org.springframework.beans.factory.xml.XmlBeanDefinitionReader - 从ServletContext资源加载XML bean定义[/ WEB-INF/spring/servlet-context。 xml]' –

+0

尝试把你的消息文件放在你的源代码目录(没有/ messsages /文件夹) – jddsantaella