我的网络应用程序中有一个弹簧安全设置。我想用我的自定义消息替换一些 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-context 在 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 定义移动到另一个上下文。