1) Я думаю, вы можете выбрать поведение по умолчанию, внедрив свой собственный AuthenticationSuccessHandler
и передав его <form-login authentication-success-handler-ref="..."/>
2) Это на самом деле не в духе парадигмы разделения интересов в Spring Security, где поставщик аутентификации заполняет объект Authentication
, а другой фильтр сохраняет / заполняет аутентификацию в / из сеанса HTTP. Тем не менее в общем случае вы можете получить доступ к текущему HTTP-запросу и, следовательно, к сеансу из любой точки цепочки обработки запросов, добавив фильтр org.springframework.web.context.request.RequestContextListener
к вашему web.xml
. Затем используйте ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest().getSession()
для доступа к сеансу от вашего провайдера аутентификации.