[spring-security]그리고 다국어 처리[재질문]
- 작성자 :
- 양*순
- 작성일 :
- 2015-08-24 13:39:24
- 조회수 :
- 939
- 구분 :
- 공통컴포넌트
- 진행상태 :
- 완료
Q
아래 '[spring-security]그리고 다국어 처리'에 질문을 올렸고.
여러가지로 해결방법을 찾던 중.
다음과 같이 설정 및 테스트 하여 로그인시 선택한 언어셋으로 변경되는 것과 로그인 후 인터셉터를 통해서 언어셋 변경이 즉시 반영되는 것을 확인했습니다.
다만, 제가 수정하여 처리한 부분이 올바르게 되는 것인지 조언부탁드립니다.~
1. servlet.xml의
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver" />설정을
context-common.xml로 옮겼습니다.servlet.xml의 localeChangeInterceptor설정은 그대로 두었습니다.
2. spring-security의 적용 필터인 ~~loginFilter.java에서
LocaleResolver localeResolver = (LocaleResolver)appContext.getBean("localeResolver");
if (localeResolver == null) {
//throw new IllegalStateException("No LocaleResolver found: not in a DispatcherServlet request?");
}else{
localeResolver.setLocale(httpRequest, httpResponse, StringUtils.parseLocaleString(language));
}
이부분을 추가하여 주었습니다.
여러가지로 해결방법을 찾던 중.
다음과 같이 설정 및 테스트 하여 로그인시 선택한 언어셋으로 변경되는 것과 로그인 후 인터셉터를 통해서 언어셋 변경이 즉시 반영되는 것을 확인했습니다.
다만, 제가 수정하여 처리한 부분이 올바르게 되는 것인지 조언부탁드립니다.~
1. servlet.xml의
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver" />설정을
context-common.xml로 옮겼습니다.servlet.xml의 localeChangeInterceptor설정은 그대로 두었습니다.
2. spring-security의 적용 필터인 ~~loginFilter.java에서
LocaleResolver localeResolver = (LocaleResolver)appContext.getBean("localeResolver");
if (localeResolver == null) {
//throw new IllegalStateException("No LocaleResolver found: not in a DispatcherServlet request?");
}else{
localeResolver.setLocale(httpRequest, httpResponse, StringUtils.parseLocaleString(language));
}
이부분을 추가하여 주었습니다.
A
양안순님 안녕하세요.
security 설정으로 localeResolver가 동작하지 않아서
직접 수정하시는 방법으로 적용하신듯 한데요.
<mvc interceptors를 사용하는 방법으로
아래 답변을 드렸으니 테스트를 해보시면 좋을듯 합니다.
감사합니다.
security 설정으로 localeResolver가 동작하지 않아서
직접 수정하시는 방법으로 적용하신듯 한데요.
<mvc interceptors를 사용하는 방법으로
아래 답변을 드렸으니 테스트를 해보시면 좋을듯 합니다.
감사합니다.