- Что мне нужно:
Для каждого нового пользователя, посещающего мой сайт, я создаю объект MyUser (не имеет значения, из чего состоит этот класс) и сохраняю его в БД.
И я хочу, чтобы этот объект использовался каждый раз, когда пользователь с одинаковым sessionId заходил на мой сайт.
Для меня это выглядит почти как анонимная аутентификация. Поэтому я отключил его и заменил собственным фильтром:
<http auto-config="true">
...
<anonymous enabled="false"/>
<custom-filter ref="userGeneratorFilter" position="ANONYMOUS_FILTER"/>
</http>
Я думал, что securityContext содержит принципал для ранее аутентифицированного пользователя, но похоже, что один из фильтров в цепочке фильтров добавляет его вручную для каждого запроса.
Другими словами, каждый раз, когда я захожу в свой UserGeneratorFilter.doFilter
SecurityContextHolder.getContext().getAuthentication() == null;
Так как я могу понять, нужно ли мне создать новый объект MyUser или взять существующий из базы данных?
пс. Я думаю, что выбрал неправильный путь = (Несколько слов о моей задаче: я хочу, чтобы неавторизованный пользователь имел ограниченный доступ к моему ресурсу, но когда он регистрируется, я хочу, чтобы все введенные им данные, будучи неавторизованными, были объединены с его обычным счет.
Спасибо за ваше внимание. Каждый раз, когда я пишу это предложение, модераторы удаляют его. Но я никогда не перестану писать это =)