Пользовательские поля безопасности Spring - PullRequest
1 голос
/ 04 ноября 2010

1) Как я могу добавить пользовательское поле в форму входа и использовать это значение для перехода на другую страницу после входа в систему.Мне нужен пользовательский поставщик аутентификации для аутентификации.Можем ли мы использовать Spring MVC, чтобы связать все это?

2) Как мы можем заполучить HttpSession у провайдера аутентификации?

1 Ответ

0 голосов
/ 22 июня 2011

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() для доступа к сеансу от вашего провайдера аутентификации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...