Это в основном вопрос о стиле или лучшей практике. Я хочу знать, как лучше передать имя пользователя переменным модели, доступным моим представлениям. Без написания этой части логики для каждого контроллера. Есть в основном три способа сделать это:
Использование тегов безопасности весны:
http://static.springsource.org/spring-security/site/docs/3.0.x/reference/taglibs.html
Обратная сторона: «некоторые люди предпочитают сохранять как можно меньше логики в представлении». Согласен. Есть возражения?
Реализация InterceptorHandler: http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/mvc.html#mvc-introduction
Лучшая практика для получения имени пользователя - это, вероятно, SecurityContextHolder.getContext (). GetAuthentication (). После этого необходимо задать имя пользователя, вызвав httpServletRequest.getSession (). SetAttribute ("userName", userName);
Это кажется неловким. Каким-то образом. Это ( вопрос )? Другая проблема заключается в том, что нужно начинать делать сопоставления обработчиков вручную, как в Spring 2.5, чтобы иметь возможность использовать перехватчики для отдельных контроллеров. Вопрос: это его плохо?
Использование основного параметра и реализация абстрактного контроллера, т. Е. Использование аннотации @ModelAttribute (...) (не знаю другого метода из головы)
Таким образом, вопрос - как ОТЛИЧНО вводить имя пользователя в модель?
Цель этого вопроса - прояснить мое понимание концепций безопасности Spring и узнать о передовых практиках, которые, я думаю, важны при запуске новых проектов.