Spring Security/Технический обзор Spring Security: различия между версиями

→‎Локализация: орфография, пунктуация
(орфография)
(→‎Локализация: орфография, пунктуация)
Spring Security поддерживает локализацию сообщений в исключениях, которые скорее всего увидят конечные пользователи. Если ваше приложение разработано для Англоговорящих пользователей, то по умолчанию вы не должны ничего делать, все сообщения Spring Security написаны на английском языке. Если вы должны поддерживать локализацию для других языков, то все что вам нужно знать, содержится в этом разделе.
 
Все сообщения исключений могут быть локализованы, включая сообщения, связанные с отказом аутентификации и запрета доступа (отказы авторизации). Исключения и логи, которые предназначены для разработчиков или лиц, ответсвенныхответственных за развертывание приложения (включая некорректные атрибуты, нарушения контракта интерфейса, использование некорректных конструкторов, проверки во время запуска, логгирование режима отладки) и т.д., не локализуются, а вместо этого явно написаны в коде Spring Security на английском языке.
 
В поставляемом файле <code>spring-security-core-xx.jar</code>, вы найдете пакет <code>org.springframework.security</code>, который в свою очередь содержит файл <code>messages.properties</code>. На него должна быть установлена ссылка в вашем <code>ApplicationContext</code>, поскольку классы Spring Security реализуют Spring интерфейс <code>MessageSourceAware</code> и ожидают, что в преобразователь сообщений (message resolver) будет включена зависимость из контекста приложения в момент его запуска.. Обычно все, что Вы должны сделать, это зарегистрировать bean в контексте приложения, который будет ссылаться на сообщения. Ниже приведен пример:
Если вы хотите настроить файл <code>messages.properties</code> или поддерживать другие языки, то вы должны скопировать файл, переименовать в соответствии с правилами и зарегистрировать его в приведенном выше определении компонента. Файл содержит небольшое количество ключей сообщений, поэтому локализация не рассматриваться как основная инициатива. Если вы выполните локализацию этого файла, пожалуйста подумайте о том, чтобы поделиться вашей работой с сообществом. Для этого войдите в JIRA, создайте задачу и прикрепите к ней вашу версию переименованного и локализованного файла <code>messages.properties</code>.
 
В завершении нашего обсуждения локализации: Существует Spring <code>ThreadLocal</code> известеныйизвестный как <code>org.springframework.context.i18n.LocaleContextHolder</code>. Вы должны установить <code>LocaleContextHolder</code> так, чтобы он представлял предпочтительную <code>Locale</code> каждого пользователя. Spring Security будет пытаться найти сообщения в соответствии с настройками <code>Locale</code>, который берется из <code>ThreadLocal</code>. Пожалуйста, обратитесь к документации Spring Framework для более подробной информацииюинформацию об использовании <code>LocaleContextHolder</code>.
 
{{BookCat}}
128

правок