2012-07-04 3 views
0

웹 응용 프로그램에 스프링 보안 설정이 있습니다. 나는이 내 스프링 설정되어 내가 값을 invalid username or password, please try again스프링 메시지 번들 문제

을 가지고 AbstractUserDetailsAuthenticationProvider.badCredentials 원하는

대신 Bad Credentials 즉 내 사용자 지정 메시지와 함께 봄 보안 몇 가지 메시지를 교체하려면 :

<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-INFmessages이라고합니다. 이 폴더 안에는 messages.properties이라는 파일이 있습니다. 이 파일의 내용은 다음과 같습니다.

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

여기서 내가 뭘 잘못하고 있니?

는 업데이트

:

이 서블릿 문맥은 웹 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> 

는 또한, 콩은 봄을 인식하는 애플리케이션 컨텍스트 파일에 선언되고 있는지 확인합니다.

+0

도 작동하지 않는다. –

+0

하지만 내 컨텍스트에서 정보가로드 된 것을 볼 수있다 : INFO : org.springframework.beans.factory.xml.XmlBeanDefinitionReader - ServletContext 리소스 [/ WEB-INF/spring/servlet-context]에서 XML bean 정의로드. xml]' –

+0

당신의 메시지 파일을 소스 디렉토리에 넣으십시오 (/ messsages/폴더 제외) – jddsantaella