스프링 웹 응용 프로그램을 만들고 있는데 스프링 보안 3.1을 사용하고 있습니다.SimpleUrlAuthenticationFailureHandler의 하위 클래스에서 지역화 된 메시지를로드하는 방법?
SimpleUrlAuthenticationFailureHandler의 하위 클래스를 만들어야합니다. 그리고 상속 방법 I는 HTTP 요청 또는 세션에로드 된 지역화 된 문자열을 설정해야
public void onAuthenticationFailure(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
AuthenticationException exception)
throws IOException,
javax.servlet.ServletException
에서 지역화 된 문자열을로드해야합니다.
는 이미 위의 onAuthenticationFailure 방법에서, WebApplicationContext를 사용할 수없는, 그러나 다음<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="messages"/>
</bean>
을 정의했다. 그리고 다음과 같은 오류
No WebApplicationContext found: not in a DispatcherServlet request?
을 가지고 있다면 수행 onAuthenticationFailure에서 다음
WebApplicationContext ctx = RequestContextUtils.getWebApplicationContext(request);
Locale locale = RequestContextUtils.getLocale(request);
String msg = ctx.getMessage(msgCode, new Object[]{}, locale);
어떻게 onAuthenticationFailure 위의 MessageSource를 정의 메시지를 사용할 수 있습니까?
고맙습니다.
감사합니다.
파벨, 정말 고마워요! 그것 (messageSource 방식)은 매력처럼 작동합니다. 커피 한 잔 사 줄까? 페이팔 계좌가 있습니까? – curious1